본문 바로가기

🥾 프로젝트/(STEP)파이썬을 활용한 인공지능 자연어 처리

6-2회차) 자연어 처리를 위한 Transformer 적용

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_ _