본문 바로가기

자연어처리7

NLP 트랜스포머 코드 스터디 리뷰 common_attention.py 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 이번 포스트가 아마도 Attention is all you need 의 코드 리뷰 마지막이 될 것 같습니다. 그동안 트랜스포머 코드 스터디 리뷰 시리즈로 몇 백줄의 코드 리뷰를 해왔습니다. 모델의 아키텍쳐를 구현한 transformer.py는 1편, 2편, 3편 총 세 개의 포스트로 구성했습니다. 다음으로 transformer_layers.py 에 대해 리뷰를 했고요. 그 다음으로 common_layers.py에 대해 다루었습니다. 오늘 보실 common_attention.py는 트랜스포머의 햑심이 되는 multihead_attention에 대해서 다루는 모듈입니다. https://github.com/tensorflow/tensor2tensor/blob/ma.. 2023. 9. 1.
NLP 트랜스포머 코드 스터디 리뷰 common_layers.py 안녕하세요 블레이즈 테크노트 블레이즈 입니다. Attention is all you need 가 구글에서 발표한 논문인만큼 이 논문에서 사용된 코드가 tensorflow 공식으로 등록되어 있습니다. 아래는 그 코드의 내용입니다. https://github.com/tensorflow/tensor2tensor GitHub - tensorflow/tensor2tensor: Library of deep learning models and datasets designed to make deep learning more accessible a Library of deep learning models and datasets designed to make deep learning more accessible and a.. 2023. 8. 28.
NLP 트랜스포머 다섯 번째, 여러 종류의 멀티헤드 어텐션과 피드 포워드 네트워크 FFN 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 지난 포스팅 트랜스포머 네 번째, 멀티헤드 어텐션 알아보기에서 멀티 헤드 어텐션의 개념에 대해서 살펴보았습니다. https://blazetechnote.tistory.com/24 NLP 트랜스포머 네 번째, 멀티 헤드 어텐션 Multi-Head Attention 알아보기 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 지난 포스팅 트랜스포머 세 번째, 셀프 어텐션 알아보기에서 셀프 어텐션에 대한 기본적인 구조를 알아봤습니다. NLP 트랜스포머 세 번째, 셀프 blazetechnote.tistory.com 이번 포스팅은 트랜스포머 모델에서 사용되는 3종류의 멀티 헤드 어텐션을 살펴보고 어텐션 층 다음에 이어지는 피드 포워드 네트워크 (Feed Forward Ne.. 2023. 8. 26.
NLP 트랜스포머 코드 스터디 리뷰 transformer_layers.py 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 블레이즈 테크노트의 트랜스포머 시리즈는 계속되고 있습니다. 트랜스포머 논문을 리뷰하면서 개념을 먼저 살펴봤습니다. Attention is all you need 가 구글에서 발표한 논문인만큼 이 논문에서 사용된 코드가 tensorflow 공식으로 등록되어 있습니다. 그래서 저는 이 코드 중에서 가장 핵심 내용을 담고 있는 transformer.py를 리뷰했습니다. 하지만 이를 보다 보니 임포트하고 있는 모듈에 대한 이해가 필요할 것 같았습니다. 그래서 오늘 살펴볼 코드는 transformer_layers.py 입니다. 오늘은 그 중에서도 transformer_layers.py 를 함께 살펴보겠습니다. https://github.com/tensorflow/te.. 2023. 8. 23.
NLP 트랜스포머 코드 스터디 리뷰 (3) transformer.py 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 지난 2개의 포스팅에서 Attention is all you need 논문의 코드 중 transformer.py 의 앞부분을 살펴봤습니다. https://blazetechnote.tistory.com/27 NLP 트랜스포머 코드 스터디 리뷰 (1) transformer.py 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 트랜스포머 논문에 대해서는, 제가 지난 여러 포스팅에서 설명했습니다. 어텐션메커니즘1 어텐션메커니즘2 트랜스포머_포지셔널인코딩 트랜스 blazetechnote.tistory.com https://blazetechnote.tistory.com/28 NLP 트랜스포머 코드 스터디 리뷰 (2) transformer.py 안녕하세요 블레이즈 테크노트.. 2023. 8. 21.
NLP 트랜스포머 코드 스터디 리뷰 (1) transformer.py 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 트랜스포머 논문에 대해서는, 제가 지난 여러 포스팅에서 설명했습니다. 어텐션메커니즘1 어텐션메커니즘2 트랜스포머_포지셔널인코딩 트랜스포머_셀프어텐션 트랜스포머_멀티헤드어텐션 다시 짚고 넘어가자면 NLP 자연어 처리에서 아주 혁신적인 개념이었죠. Attention is all you need 가 구글에서 발표한 논문인만큼 이 논문에서 사용된 코드가 tensorflow 공식으로 등록되어 있습니다. 아래는 그 코드의 내용입니다. https://github.com/tensorflow/tensor2tensor GitHub - tensorflow/tensor2tensor: Library of deep learning models and datasets designed .. 2023. 8. 18.
NLP 트랜스포머 두 번째, 포지셔널 인코딩(Positional Encoding) 알아보기 안녕하세요 블레이즈 테크노트 블레이즈입니다. 지난 포스팅에서 트랜스포머에 대한 간단한 소개를 했습니다. 혹시 인트로가 궁금하시다면 아래의 포스팅을 참고해 주세요. https://blazetechnote.tistory.com/entry/NLP-트랜스포머-첫-번째-RNN에서-트랜스포머로 앞으로 트랜스포머에 대해 조금씩 알아가 보도록 할 건데요 오늘은 트랜스포머의 특징 중 하나인 Positional Encoding부터 알아보려고 합니다. 아래의 그림이 트랜스포머 구조입니다. 그리고 제가 이 부분이라고 표시해놓은 부분이 Positional Encoding이 되는 부분입니다. 아래의 그림은 위 구조를 조금 더 단순하게 표현한 그림입니다. 이를 보시면 모든 단어가 Embedding Vector로 변환이 되고 나서 .. 2023. 7. 25.