2. Transformer 감성분석적용
1) Transformer 적용 방법
(1) Transformer 전체 구조
- 앞에서 배운 transformer를 통해서, 감성분석을 할 예정.
- 감성분석을 하기 위한 위의 단계가 필요함.
- 앞서 설명한 부분을 그림 표현
- 텍스트를 워드 임베딩 실시
2) Word Embedding과 Positional Embedding Layer
(1) Word Embedding과 Positional Embedding Layer 추가
- word Embedding과 postition embedding 하기
(2) __init__
- 파일토치에 embbeding이라는 함수를 이용
- num_tokens : 토큰의 갯수
- d : Dimension의 크기
- max_seq_len : 가장 큰 길이의 시퀀스를 넣기
(3) __forward__
- 최종적으로는 tokens과 postions 을 concat 함.
(4) Positional Embedding을 추가하는 이유?
- RNN의 태생적인 한계인 기울기 손실 발생.
- 이를 해결하기 위해서 Attention이라는 사용
> 초기에 RNN + Attention 구현
- 새로운 논문
> RNN을 제거하고 positionnal embedding 실시
> RNN은 순차적으로 들어가기에, 순서를 알 수 있음
(5) Transformer Block 추가
(6) __init__
- 순차적으로(sequential) Transformer 클래스에 객체를 생성
- 필요 파라미터는 dimension과 heads
- 몇개의 층을 쌓을 것이냐?
(7) _ _ forward_ _
- 여러개의 layer로 되어 있기에, multi layer
(8) Classification Layer 추가
(9) _ _ init_ _
(10) _ _ forward_ _
'🥾 프로젝트 > (STEP)파이썬을 활용한 인공지능 자연어 처리' 카테고리의 다른 글
7-2회차) 자연어 처리를 위한 BERT 모델 (1) | 2023.05.14 |
---|---|
7-1회차) 자연어 처리를 위한 BERT 모델 (0) | 2023.05.13 |
6-1회차) 자연어 처리를 위한 Transformer 적용 (0) | 2023.05.10 |
5-2회차) 자연어 처리를 위한 RNN (0) | 2023.05.07 |
5-1회차) 자연어 처리를 위한 RNN (0) | 2023.05.07 |