전체 글 210

[빅분기] 필기 비전공자 합격 후기(공부법 / 책 / 참고사이트)

개인적으로 어려웠던 8회차 빅분기 후기입니다.후기쓰려고 데이터자격검정홈페이지 들어갔다가 서류제출하지 않은 것을 보고 식겁했다..합격해놓고 서류미제출할 뻔서류제출 문자오면 잊지 말고 바로 하세욧 ㅠ 📌 시험 일정공부는 약 3주정도한 것 같다. 근데 집중하기가 힘들었던.. 3주.. 📌 결과간당간당하게 합격..3문제차이로 과락과 불합격을 면했다. 다행이야 📌 공부법데이터자격검정 시험은 다 비슷하게 준비를 한 것 같다.[ADsP] 비전공자 합격 후기(공부법 / 책) [ADsP] 비전공자 합격 후기(공부법 / 책)정처기치고 약 10일.. 뒤에 쳤던 ADsP 합격후기에 대해 작성해보겠다! 📌 시험 일정 정보처리기사 필기 2월 15일, ADsP 2월 24일에 치뤘으니 시험일을 제외하면 거의 일주일간 공부한 것..

자격증/후기 2024.04.26

[프로그래머스 Level 0] 두 수의 차(Python)

📝 Level 0. 두 수의 차더보기📌 문제 설명 정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요. 📌 제한사항-50000 ≤ num1 ≤ 50000-50000 ≤ num2 ≤ 50000📌 입출력 예num1num2result23-1100298📌 입출력 예 설명입출력 예 #1num1이 2이고 num2가 3이므로 2 - 3 = -1을 return합니다. 입출력 예 #2num1이 100이고 num2가 2이므로 100 - 2 = 98을 return합니다. ✏️ 나의 풀이def solution(num1, num2): answer = num1 - num2 return answer ✏️ 다른 풀이solution = lam..

[Docker] 기초부터 이미지 배포까지 Docker 사용법

📌 DockerImage애플리케이션을 실행하기 위한 환경 현재 이미지 확인docker images 이미지 삭제docker rmi [이미지 name]# container 삭제 전 이미지 삭제docker rmi -f [이미지 name] 이미지 pulldocker pull [이미지 name] 이미지 이름과 tag는 ':' 로 구분된다.따라서 현재 centos는 centos:latest 인 것을 확인할 수 있다. Containercontainer를 실행하기 위해서는 1. 이미지를 pull 받고 2. 이 이미지를 통해 container를 실행한다.따라서 container를 실행하기 위해서는 반드시 이미지가 있어야 한다.또한 컨테이너에 변경사항이 생겨도 이미지에는 변화가 생기지 않는다. 현재 실행중인 모든 컨테이..

TIL 2024.04.24

[밑바닥부터시작하는딥러닝2] Chapter 8. 어텐션

8.1. 어텐션의 구조✔️ seq2seq의 문제점seq2seq에서 Encoder의 출력은 '고정 길이의 벡터'였다.고정길이벡터는 입력 문장의 길이에 관계없이(아무리 길어도) 항상 같은 길이의 벡터로 변환한다는 뜻이다.이렇게 되면 필요한 정보가 벡터에 모두 담기지 못하게 된다. ✔️ Encoder 개선Encoder의 출력 길이는 입력 문장의 길이에 따라 바꿔주는게 좋다.이를 위해 그림 8-2처럼 시각별 LSTM 계층의 은닉 상태 벡터를 모두 이용한다.각 시각별 LSTM 계층의 은닉 상태이기 때문에 hs 행렬은 각 단어에 해당하는 벡터들의 집합이라고 볼 수 있다. ✔️ Decoder 개선(1)Decoder의 LSTM 계층의 '첫' 은닉 상태는 Encoder LSTM 계층의 '마지막' 은닉상태이다.즉 그림 8..

Deep Learning 2024.04.23

[밑바닥부터시작하는딥러닝2] Chapter 7. RNN을 사용한 문장 생성

7.1. 언어 모델을 사용한 문장 생성그림 7-1과 같이 LSTM 계층을 이용한 언어 모델이 'you say goodbye and I say hello' 라는 말뭉치를 학습했다고 가정해보자. 그림 7-2처럼 'I'라는 단어를 주었을 때 다음 단어를 새로 생성하려면 어떻게 해야 할까?1. 확률이 가장 높은 단어를 선택하는 방법(결과가 일정한 '결정적'인 방법)2. 후보단어의 확률에 맞게 선택하는 방법,즉 확률이 높은 단어는 선택되기 쉽고 확률이 낮은 단어는 선택되기 어렵다.(결과가 매번 다른 '확률적'인 방법) 확률적으로 'say'라는 단어가 선택된 후 그림 7-4처럼 두 번째 단어를 샘플링한다. 이와 같은 작업을 원하는 만큼 반복한다.(or 같은 종결 기호가 나타날 때까지 반복한다.) 문장 생성 구현은 ..

Deep Learning 2024.04.22

[밑바닥부터시작하는딥러닝2] Chapter 6. 게이트가 추가된 RNN

6.1. RNN의 문제점BPTT에서 기울기 소실 혹은 기울기 폭발이 일어나기 때문에 시계열 데이터의 장기 의존 관계를 학습하기 어렵다.그림 6-5에서 시간방향 기울기에 주목하면 'tanh', '+', 'MatMul(행렬곱)' 연산을 통과하는 것을 알 수 있다.여기서 +는 기울기를 그대로 하류로 흘려보내기 때문에 기울기가 변하지 않지만 나머지 두 연산은 기울기를 변화시킨다. 그림 6-6에서 tanh(x)의 미분인 점선을 보면 값이 1 이하이고 x가 0으로부터 멀어질수록 작아진다.이는 역전파에서 기울기가 tanh노드를 지날 때마다 작아진다는 뜻이다. MatMul(행렬곱)을 보면 그림 6-7처럼 상류로부터 dh라는 기울기가 계속 흘러온다고 가정하자.이 때 MatMul 노드의 역전파는 dhWh^T라는 행렬곱으로..

Deep Learning 2024.04.21

[밑바닥부터시작하는딥러닝2] Chapter 5. 순환 신경망(RNN)

피드포워드(feed forward) : 흐름이 단방향인 신경망 (예. word2vec 등)입력신호가 다음 층(중간층)으로 전달되고 그 신호를 받은 층은 그 다음 층으로 전달하는 식으로 한 방향으로만 신호가 전달된다.구성이 단순하여 구조를 이해하기 쉽기 때문에 많은 문제에 응용할 수 있다.그러나 시계열 데이터를 잘 다루지 못한다.이를 해결하기 위해 순환 신경망(Recurrent Neural Network, RNN)이 등장한다. 5.1. 확률과 언어 모델언어모델(Lanugage Model)은 단어 나열에 확률을 부여한다.특장 단어의 시퀀스에 대해 그 시퀀스가 일어날 가능성이 어느 정도인지(얼마나 자연스러운 단어 순서인지)를 확률로 평가한다. m개 단어로 된 문장을 생각했을 때, 단어가 w1, ..., wm ..

Deep Learning 2024.04.20

[밑바닥부터시작하는딥러닝2] Chapter 4. word2vec 속도 개선

CBOW모델은 말뭉치에 포함된 어휘 수가 많아지면 계산량이 커져 계산 시간이 오래 걸린다.이를 위해 Embedding이라는 새로운 계층을 도입하고 네거티브 샘플링 이라는 새로운 손실함수를 도입한다. 4.1. word2vec 개선 (1)CBOW모델은 단어 2개를 맥락으로 사용해 이를 바탕으로 하나의 단어(타깃)을 추측한다.이때 입력측 가중치(Win)와의 행렬곱으로 은닉층이 계산되고 다시 출력측 가중치(Wout)와의 행렬곱으로 각 단어의 점수를 구한다.이 점수에 소프트맥스 함수를 적용해 각 단어의 출현 확률을 얻고 이 확률을 정답 레이블과 비교하여(교차 엔트로피 오차를 적용하여) 손실을 구한다. 이런 CBOW모델은 거대한 말뭉치를 다루게 되면 문제가 생긴다.그림 4-2와 같이 어휘가 100만개, 은닉층의 뉴..

Deep Learning 2024.04.19

[밑바닥부터시작하는딥러닝2] Chapter 3. word2vec

3.1. 추론 기반 기법과 신경망✔️ 통계 기반 기법의 문제점통계기반기법에서는 주변 단어의 빈도를 기초로 단어를 표현했다.하지만 이 방식은 대규모 말뭉치를 다룰 때 문제가 발생하는데, 어휘가 100만개라면 100만*100만이라는 거대행렬이 생기고 이를 SVD(특잇값감소) 적용하는 것은 쉽지 않다.반면, 추론 기반 기법은 신경망을 이용하는 경우, 미니배치로 학습하는 것이 일반적이다. 신경망이 한번에 소량(미니배치)의 학습 샘플씩 반복해서 학습하며 가중치를 갱신해간다.그림 3-1과 같이 통계기반기법은 데이터를 한꺼번에 처리하고(배치학습), 추론기반기법은 데이터의 일부를 사용하여 순차적으로 학습한다.(미니배치학습) ✔️ 추론 기반 기법추론 기반 기법에서는 '추론'이 주된 작업으로, 그림 3-2처럼 주변 단어(..

Deep Learning 2024.04.18

[밑바닥부터시작하는딥러닝2] Chapter 2. 자연어와 단어의 분산 표현

2.1. 자연어 처리란자연어(natural language) : 한국어, 영어 등 평소에 쓰는 말자연어처리(Natural Language Processing, NLP) : 자연어를 처리하는 분야, 즉 사람의 언어를 컴퓨터에게 이해시키기 위한 기술 사람의 언어는 '문자'로 구성되며, 언어의 의미는 '단어'로 구성된다.즉 단어는 의미의 최소 단위, 따라서 자연어를 컴퓨터에게 이해시키는 데는 '단어의 의미'를 이해시키는 것이 중요하다. 2.2. 시소러스시소러스 : 유의어 사전으로 뜻이 같은 단어(동의어)나 뜻이 비슷한 단어(유의어)가 한 그룹으로 분류되어 있다.ex) WordNet : 시소러스 중 하나 단어 사이의 '상위와 하위' 혹은 '전체와 부분' 등 더 세세한 관계까지 정의해둔 경우도 있다. 이처럼 모든..

Deep Learning 2024.04.17