[T아카데미] 자연어 언어모델 ‘BERT’ 2강 정리(1) - 언어 모델(language model)

2023. 1. 4. 08:53·✨ 공부 기록/NLP

[토크ON세미나] 자연어 언어모델 ‘BERT’ 2강 - 언어 모델 (Language Model) | T아카데미

 

<언어 모델(Language model)>

: '자연어'의 법칙을 컴퓨터로 모사한 것. 주어진 단어들로부터 그 다음에 등장한 단어의 확률을 예측하는 방식으로 학습한다. 다음에 등장할 단어를 잘 예측한다는 건 그 언어의 특성이 잘 반영된 모델이며, 문맥을 잘 계산하는 것으로 볼 수 있다.

 

[Markov 확률 기반의 언어모델]

: 기초적인 모델이다. Markov Chain의 형태로 나타낼 수도 있고, table로도 나타낼 수 있는데, 각 단어의 뒤에 어떤 단어가 올지 통계를 내서 확률을 나타낸다.(잘 정리된 블로그 글 - 비전공자가 이해한 '마코프 체인(Markov Chain)')

 

+) Markov와 RNN의 차이점은 무엇일까?(stackoverflow - why-should-we-use-rnns-instead-of-markov-models)

Markov 체인은 Markov 속성을 가정하며 "Memoryless"이다. 다음 기호의 확률은 k개의 이전 기호를 기반으로 계산된다. 그리고 그 k는 낮은 값(예: 3-5)으로 제한된다. 따라서 은닉 마르코프 모델에 의해 생성된 문장은 매우 일관성이 없다.

반면에 RNN(예: LSTM 단위 포함)은 Markov 속성에 구속되지 않는다. 그렇기에 풍부한 내부 상태를 통해 장거리 종속성을 추적할 수 있다.

 

[RNN : 신경망 구조의 언어모델]

: 신경망을 사용하여 언어모델을 만든 것. 문장을 context 벡터로 만든다. 즉, 좌표평면 위에 표현이 가능해짐으로써 분류 문제도 풀 수 있게 된다. 

 

-> RNN 기반의 Seq2seq(Sequence to sequence)

: Encoder(RNN) -> context vector -> Decoder(RNN)

 

인풋값이 문맥이 고려된 RNN 네트워크를 거치면 context vector가 나오고, Decoder를 다시 거치면 벡터에 대한 해석이 가능해진다.

 

* RNN의 구조적 문제점

1) 앞서 나온 단어들의 state를 계속 전달한다. -> 시퀀스가 너무 길면 처음에 나왔던 정보들은 점점 희석된다.

2) context vector가 고정된 벡터 크기를 가진다. -> 커다란 크기의 데이터를 함축하기가 어렵다.

3) 모든 token이 영향을 미친다. -> 중요하지 않은 token도 영향을 준다.

=> 그래서 등장한 것이 (LSTM,) Attention이다.

 

[Attention]

: 사람은 정보 처리를 할 때, 모든 sequence를 고려하며 정보 처리를 하지 않는다. -> 중요한 feature를 중요하게 고려하는 것이 Attention의 모티프이다. 예를 들어, 'I love you'라는 문장을 '난 널 사랑해'라고 번역할 때, I와 난, 널과 you, 사랑해와 love가 서로 연결이 되게끔 관계를 학습시키자는 것이다.

 

이 정리글은 강의 내용을 잘 정리해뒀기에 대신 가져와봤다.

'✨ 공부 기록 > NLP' 카테고리의 다른 글

[T아카데미] 자연어 언어모델 ‘BERT’ 1강 정리  (0) 2023.01.03
'✨ 공부 기록/NLP' 카테고리의 다른 글
  • [T아카데미] 자연어 언어모델 ‘BERT’ 1강 정리
LaonMoon
LaonMoon
  • LaonMoon
    스토리생성연구블로그
    LaonMoon
  • 전체
    오늘
    어제
  • 공지사항

    • About me👋
    • 분류 전체보기
      • ✨ Story Generation
        • 논문 리뷰
        • 연구 관련 생각
      • ✨ 자연어 처리
        • (짧은) 논문 리뷰
        • HuggingFace
        • Transformer 구현
      • ✨ 공부 기록
        • 알고리즘
        • 딥러닝
        • 웹 개발
        • Flutter
        • Flask
        • Android
        • NLP
        • Docker&k8s
        • Database
        • [24-1] 데이터 분석
        • [24-1] RL
      • ✨ 포트폴리오
        • 2020
        • 2021
        • 2022
        • 2023
        • 2024
      • 프로그래밍
        • 오류(Error)정리
        • 시행착오
        • 리눅스 명령어
        • 공부내용 정리
      • AI Playground
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
LaonMoon
[T아카데미] 자연어 언어모델 ‘BERT’ 2강 정리(1) - 언어 모델(language model)
상단으로

티스토리툴바