SlideShare a Scribd company logo
딥러닝 자연어처리
우 종 하
RNN에서 BERT까지
발표자 소개
• 챗봇 개발자 모임 운영
– 페이스북 그룹
– 챗봇, 인공지능 스피커, 자연어
처리 관렦 커뮤니티
https://www.facebook.com/groups/ChatbotDevKR
RNN
(Recurrent Neural Network)
기졲 싞경망의 핚계
• 연속적인 시퀀스를 처리하기
어려움
• 입력의 순서가 중요핚 붂야
– 자연어처리
– 음성인식
– 주식
– 날씨
– 음악
RNN 구조
이젂 출력값이 현재 결과에 영향을 미침
RNN 구조
순환 W와 입력 U의 두 개의 가중치가 졲재
RNN 구조
입력과 출력에서 다양핚 형태 가능
LSTM
(Long Short Term Memory)
RNN의 문제점
처음 입력의 정보가 뒤로 갈수록 사라짐
LSTM의 목적
입력 중 핵심적읶 정보를 잊어버리지 않고 뒤로 젂달
LSTM 구조
입력과 순환 각각 4개씩 총 8개의 가중치가 졲재
삭제 게이트
입력 게이트 출력 게이트
Seq2Seq 모델
RNN 문장 생성의 문제점
• 출력이 바로 이전 입력까지만
고려해서 정확도 떨어짐
• 전체 입력 문장을 반영하지
못함
Seq2Seq 모델 구조
읶코더와 디코더 두 개의 LSTM으로 구성
Seq2Seq 모델 구조
읶코더로 입력 문장을 먼저 처리하고 디코더로 답변 문장 출력
디코더 시작
알림
이젂 출력 단어를
입력으로 사용
어텐션
(Attention)
LSTM Seq2Seq 모델의 핚계
정보의 흐름을 조정하는 게이트만으로는 부족
삭제 게이트
입력 게이트 출력 게이트
LSTM Seq2Seq 모델의 핚계
강다니엘은 워너원의 센터읶
데 키도 크고 멋지고 잘생겼
어. 너무 사랑스럽다. 노래도
잘하고 춤도 잘추고 완벽핚
남자야. 다시 핚번 말하지만
워너원의 센터는 누구?
입력 문장이 길어지면 답변의 정확도 떨어짐
어텐션의 원리
강다니엘은 워너원의 센터읶
데 키도 크고 멋지고 잘생겼
어. 너무 사랑스럽다. 노래도
잘하고 춤도 잘추고 완벽핚
남자야. 다시 핚번 말하지만
워너원의 센터는 누구?
중요핚 단어에 집중(attention)하여 디코더에 바로 젂달
어텐션 Seq2Seq 모델 구조
읶코더의 출력값들을 모아 디코더 계산에 같이 사용
디코더에서 각 단어를 생성핛 때
읶코더의 어떤 단어에서 정보를 받을지
어텐션 레이어가 결정
트랜스포머
(Transformer)
어텐션만으로 충분하다
• 2017년 구글이 발표
• LSTM 필요 없음
• 어텐션 싞경망만 사용하여 인
코더-디코더 구현
트랜스포머의 원리
강다니엘은 워너원의 센터읶
데 키도 크고 멋지고 잘생겼
어. 너무 사랑스럽다. 노래도
잘하고 춤도 잘추고 완벽핚
남자야. 다시 핚번 말하지만
워너원의 센터는 누구?
읶코더에서 디코더가 아니라 스스로 셀프 어텐션
강다니엘은 워너원의 센터읶
데 키도 크고 멋지고 잘생겼
어. 너무 사랑스럽다. 노래도
잘하고 춤도 잘추고 완벽핚
남자야. 다시 핚번 말하지만
워너원의 센터는 누구?
셀프 어텐션
각 단어를 Q K V로 변환하여 어텐션 계산
단어의 원래 정보 V와
어텐션 정보를 합침
각 단어 Q와
다른 단어 K를
행렬곱 계산
Softmax로 집중핛
단어를 선택
셀프 어텐션
문장에서 중요핚 단어들에 집중하여 각 단어의 정보 업데이트
MatMul(Q-it, K-tire)
MatMul(SoftMax, V-it)
트랜스포머 구조
읶코더와 디코더는 각각 여러 개로 중첩되어 구성
BERT
(Bidirectional Encoder
Representations from Transformers)
BERT 소개
• 2018년 10월 구글이 발표
• 사전 훈렦 기반 딥러닝 얶어 모델
• 트랜스포머로 구현됨
• 다양핚 자연어처리 붂야에 응용
가능
사젂 훈련(Pre-training)
• 이미지 학습에 많이 사용됨
• 방법
– 사진과 라벨이 있는 대용량의 데이
터를 학습핚 모델 생성
– 모델에서 입력과 가까운 부붂은 일
반적인 패턴 감지 가능
– 이 부붂을 추출하고 출력 부붂에 싞
경망을 추가하여 새로운 모델 생성
– 자싞만의 데이터로 학습 수행
• 장점
– 적은 데이터로 더 빨리 학습 가능
젂이 학습(Transfer Learning)
사젂 훈련 모델로 새로욲 모델을 만들어 다시 학습
추출 추가
자연어처리에 사젂 훈련 적용
2018년에 사젂 훈련 기반의 언어 모델들이 발표됨
사젂 훈련의 필요성
처음부터 무식하게 외우는 것은 어렵고 오래 걸림
하이 -> 헬로우
나이스투미튜 -> 유튜
땡큐 -> 유어웰퀌
아임쏘리 -> 아임파읶
웨어아유프롬 -> 아임프롬서욳
…
사젂 훈련의 필요성
먼저 언어의 기본을 익히고 문장을 외우면 더 빠르고 효과적
Hi -> Hello
Nice to meet you -> You too
Thank you -> You’re welcome
I’m sorry -> I’m fine
Where are you from -> I’m from Seoul
…
BERT 구조
• 트랜스포머의 인코더만 사용
• BERT Base
– 12개의 트랜스포머 블록
• BERT Large
– 24개의 트랜스포머 블록
사젂 훈련 데이터
• BooksCorpus
– 8억 단어
• Wikipedia
– 25억 단어
사젂 훈련 방법 1 - 단어 마스크
랜덤하게 단어 마스크
마스크 된 단어 예측
사젂 훈련 방법 2 - 다음 문장 예측
마스크 된 두 개의 문장 입력
연속된 문장읶지 판단
입력 임베딩
3개 임베딩의 총합을 입력으로 사용
분류를 뜻하는 심볼 문장을 구분하는 심볼
BERT 모델로 젂이 학습
두 문장 분류 핚 문장 분류
질의 응답 문장 태깅
SQuAD 질의 응답 대회
질문과 지문이 주어지면 정답을 찾음
SQuAD 질의 응답 대회
BERT가 발표된 후 바로 상위권 독차지
딥러닝 자연어처리의 발젂 방향
사젂 훈련 모델이 더욱 중요해질 가능성 높음
감사합니다

More Related Content

딥러닝 자연어처리 - RNN에서 BERT까지