처음 배우는 자연어 처리
머신러닝, 딥러닝
머신러닝(=기계학습) : 명시적인 프로그래밍 없이 데이터를 이용해서 예측 또는 분류를 수행하는 알고리즘을 구현하는 기법
머신러닝 알고리즘 사용시 가장 중요한 부분은 머신러닝 모델이 잘 학습할 수 있도록 적절한 특징을 설정해주는 것.
머신러닝 알고리즘의 3가지 분류
- 지도학습
- 비지도학습
- 강화학습
지도학습의 목적 : 어떤 값에 대한 예측을 수행하는 것
비지도 학습의 목적 : 데이터의 숨겨진 특성을 찾아내는 것
분류문제 : 예측하는 결과값이 이산값
회귀문제 : 예측하는 결과값이 연속값
머신러닝 기본 프로세스
가설 정의
손실함수
최적화(손실함수 최소화)
=> 파라미터(가중치) 갱신
딥러닝을 기반으로 한 자연어처리
딥러닝 기법의 장점 : 데이터의 특징을 단계별로 추상화를 높여가며 학습
딥러닝 구현 라이브러리 - 텐서플로우, 파이토치
Tensor : n차원 행렬을 지칭하는 용어
다중 퍼셉트론 MLP = 인공신경망(ANN)
Seq2seq 모델 & 기계번역
기계 번역 방법론의 변화
최종 : 신경망 기계번역(NMT)
seq2seq : 번역할 언어로 작성된 소스문장들을 인코더를 이용해 생각 벡터 형태로 변환하고 이 생각 벡터를 특징값으로 이요해 디코더가 번역할 언어로 작성된 타겟문장을 생성하는 기법
attention : 집중하는 정도. 이 개념을 추가할 수 있음.
이미지 캡셔닝
이미지가 주어지면 그에 대한 설명을 만들어주는 문제 영역
CNN(컨볼루션 신경망)
show and tell
Beam search : 확신의 정도가 높은 k개를 뽑음
show, attend and tell
teacher forcing 방법론
Transformer
: 기존의 seq2seq 모델 구조에 기반하되 RNN 대신 Attention 기법을 이용해 더 높은 성능을 보여준 모델
멀리 떨어진 정보들에 대한연관관계 학습 가능
positional encoding
BERT
전이학습(Transfer learning) = fine-tuning
자연어처리를 bert 모델 하나로 해결할 수 있다.
transformer 모델에 기반하되 레이어와 헤드의 개수를 훨씬 크게 증가시킴.