본문 바로가기

밑바닥부터 시작하는 딥러닝12

[밑시딥2] Chapter 8. 어텐션 seq2seq 문제점Encoder는 아무리 긴 문장이라도 고정 길이의 벡터로 변환 Encoder 개선각 시간의 은닉 상태 벡터를 모두 이용하면 입력된 단어와 같은 수의 벡터를 얻을 수 있음'하나의 고정 길이 벡터'라는 제약으로부터 해방 (입력 문장의 길이에 비례한 정보를 인코딩할 수 O)시각별 LSTM 계층의 은닉 상태 백터는 직전에 입력된 단어의 '성분'이 많이 들어간 벡터이렇게 생각하면, Encoder가 출력하는 hs행렬은 각 단어에 해당하는 벡터들의 집합 Decoder 개선 ①목표: '도착어 단어'와 대응 관계에 있는 '출발어 단어'의 정보를 골라내고 그 정보를 이용하여 번역 수행 => 다시 말해, 필요한 정보에만 주목하여 그 정보로부터 시계열 변환을 수행하는 것 => 이 구조를 'Attention.. 2024. 2. 3.
[밑시딥2] Chapter 7. RNN을 사용한 문장 생성 RNN을 사용한 문장 생성언어 모델은 지금까지 주어진 단어들에서 다음에 출현하는 단어의 확률 분포 출력해당 분포를 기초로 2가지 방법을 통해 다음 단어 생성 1) 결정적 알고리즘확률이 가장 높은 단어 선택2) 확률적 알고리즘각 후보 단어의 확률에 맞게 선택따라서 선택되는 단어는 실행할 때마다 달라짐 seq2seq시계열 데이터를 다른 시계열 데이터로 변환하는 모델Encoder-Decoder 모델Encoder는 RNN을 이용해 시계열 데이터를 h라는 은닉 상태 벡터로 변환LSTM 뿐만 아니라 '단순한 RNN'이나 GRU 등도 물론 이용 가능마지막 은닉 상태 h에 입력 문장(출발어)을 번역하는 데 필요한 정보가 인코딩중요한 점은 LSTM의 은닉 상태 h는 고정 길이 벡터라는 사실 Decoder에서는 LSTM .. 2024. 2. 2.
[밑시딥2] Chapter 5~6. 순환신경망(RNN)& 게이트가 추가된 RNN 언어 모델단어 나열에 확률 부여특정한 단어의 시퀀스에 대해서, 그 시퀀스가 일어날 가능성이 어느 정도인지를 확률로 평가기계 번역과 음성 인식에 언어 모델 응용음성 인식 시스템의 경우, 사람의 음성으로부터 몇 개의 문장 후보 생성그런 다음 언어 모델을 사용하여 후보 문장이 '문장으로써 자연스러운지'를 기준으로 순서를 매김또한 언어 모델은 새로운 문장을 생성하는 용도로도 이용단어 순서의 자연스러움을 확률적으로 평가하여 그 확률분포에 따라 다음으로 적합한 단어를 '자아낼' 수 있음P(w1,...,wm): w1,...,wm이라는 순서로 출현할 확률(동시확률)동시 확률은 사후 확률의 총곱으로 나타낼 수 있음주목할 점은 이 사후 확률은 타킷 단어보다 왼쪽에 있는 모든 단어를 맥락으로 했을 때의 확률위 결과는 확률의.. 2024. 1. 25.
[밑시딥2] Chapter 3~4. word2vec & 속도 개선 word2vec 통계 기반 기법의 문제점말뭉치 어휘의 수는 100만개 이상통계 기반 기법에서는 '100만개x100만개' 거대한 행렬 생성 -> SVD 적용 현실적 어려움통계 기반 기법은 단 1회의 처리만에 단어의 분산 표현을 얻음한편, 추런 기반 기법에서는, 예컨대 신경망을 이용하는 경우는 미니배치로 학습하는 것이 일반적 추론 기반 기법주변 단어(맥락)이 주어졌을 때 "?"에 무슨 단어가 들어가는지를 추측하는 작업모델(신경망)은 맥락 정보를 입력 받아 각 단어의 출현 확률을 출력학습 결과로 단어의 분산 표현을 얻음 신경망에서의 단어 처리단어를 '고정 길이의 벡터'로 변환하여 뉴런의 수 '고정' (원핫 벡터)먼저 총 어휘 수만큼의 원소를 갖는 벡터 준비인덱스가 단어ID와 같은 원소를 1로, 나머지는 모두 .. 2024. 1. 24.
[밑시딥2] Chapter 2. 자연어와 단어의 분산 표현 자연어 처리란자연어 : 우리가 평소에 쓰는 말(부드러운 언어)인공어: 프로그래밍 언어, 마크업 언어 등(딱딱한 언어)자연어 처리 : 우리가 평소에 쓰는 말(자연어)을 컴퓨터에게 이해시키기 위한 기술단어의 의미단어 : 의미의 최소 단위자연어를 컴퓨터에게 이해시키는 데는 무엇보다 '단어의 의미'를 이해시키는 게 중요   1. 시소러스를 활용한 기법   2. 통계 기반 기법   3. 추론 기반 기법 시소러스자연어 처리에서 일반적인 사전 아니라 시소러스 형태의 사전 애용 (WordNet이 가장 유명)시소러스: 유의어 사전으로, '뜻이 같은 단어(동의어)' 나 '뜻이 비슷한 단어(유의어)'가 한 그룹으로 분류또한, 자연어 처리에 이용되는 시소러스는 단어 사이의 '상위와 하위' 혹은 '전체와 부분' 등 더 세세한 .. 2024. 1. 20.
[밑시딥1] Chapter 8. 딥러닝 더 깊은 신경망으로(손글씨 숫자를 인식하는 심층 CNN)합성곱 계층 모두 3x3 크기의 작은 필터,  활성화 함수는 ReLU층이 깊어지면서 채널 수가 더 늘어남(16,16,32,32,64,64)풀링 계층을 추가하여 중간 데이터의 공간 크기를 점차 줄여감마지막 단의 완젼연결 계층에서는 Dropout 계층 활용가중치 초깃값은 He 초깃값 사용, Adam을 사용해 가중치 매개변수를 최적화 정확도를 더 높이려면 -> 앙상블 학습, 학습률 감소, 데이터 확장 등 데이터 확장손쉬운 방법이면서도 정확도 개선에 아주 효과적이미지를 일부 잘라냄 (crop)좌우를 뒤집 (flip)회전에 의한 변형(rotate)이동에 의한 변형(translation)크기수정(rescale)밝기변화(lighting condition) 등 층.. 2024. 1. 18.