일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- this. #this #this키워드 #객체 자신 참조 #필드호출 #메소드호출
- Brity Assistant #대화분석 #설계 #ChatBot #변수 #학습 #대화학습 #동의어 #동의어 처리 #단어사전
- 대화설계 #시나리오 설계 #Flowchart #플로우차트 작성
- #Brity #BrityRPA #FlowControl
- Class #클래스 #Java #JAVA #자바 #java기초 #java입문 #java #자바 개념 #programming #공부 #개발 공부 #코드 정리 #코딩테스트 #알고리즘
- 학습하기 #봇 학습 #테스트 방법 #디버깅
- 메소드 오버로딩 #Method Overloading #오버로딩 #중복정의 #Overloading
- 연산자 #일치연산자 #기본연산자 #불일치연산자
- String Class #String #Class
- 스마트인재개발원 #광주인공지능학원 #JavaScript #Web #Java
- RPA #실습 #라이브러리 #RPA라이브러리 #task #Process #Task #Assign #변수
- 스마트인재개발원 #광주인공지능학원 #JavaScript #JS #형변환 #자바스크립트 #Web #back-end #front-end
- 스마트인재개발원 #deep learning #MLP #다층 레이어 퍼셉트론 #퍼셉트론 #선형분류 #다중 선형분류 #AI #머신러닝 #뉴런 #신경망
- 스마트인재개발원 #스마트인재캠퍼스 #MLP #이미지분석 #AI #인공지능 #머신러닝 #딥러닝
- Brity #Brity Assistant #ChatBit #챗봇 #자연어 처리 #Brity RPA #삼성SDS #대화분석 #대화설계
- Class #class #reference
- Java #JAVA #자바 #java기초 #java입문 #java #자바 개념 #programming #공부 #개발 공부 #코드 정리 #코딩테스트 #알고리즘
- 변수의 범위 #Scope #scope #Static #static #지역변수 #전연변수 #global #local
- #시그모이드 #광주인공지능학원 #스인개
- RPA #실습 #라이브러리 #RPA라이브러리 #task #Process #Task
- For #Loop #반복문
- RPA #실습 #라이브러리 #RPA라이브러리 #task #Process #Task #Script #ExecuteScript
- 생성자 #메소드랑 햇갈려 #생성자랑 메소드는 다른거지롱 #객체생성 #new 연산자 #인스턴스화 #인스턴스 생성
- 순전파 #역전파 #MLP
- field #Field #Method #method #필드 #속성 #메소드 #행동 #객체 #Class구성요소
- SQLD #DDL #DML #DCL #TCL #DB #SQLP #DataBase #자격증 # IT #명령어 #SQL #쿼리
- Brity #BrityRPA #FlowControl
- 열거형 #enum #JDK5
- VDI #DRM #디지털 저작권 관리 #가상 데스크톱 인프라 #용어 #IT용어 #개발자 #신입
- 참조(Reference)타입 #클래스
- Today
- Total
코딩몬
[스마트인재개발원] BERT Model 본문
BERT Model
이번 프로젝트 주제를 감성분석 기반 추천 시스템으로 잡았고, 아직 딥러닝 까지는 배운적이 없어 최대한 머신러닝으로 자연어 처리를 하여 감성분석을 해 보려고 했으나... 감성분석이라는 분야 자체가 워낙 고도의 학습이 필요한 NLP 분야라서 어쩔 수 없이 딥러닝 분야에 이렇게 살짝 일찍 맛을 보게 되었다...
조사를 해 본 결과 한국어 자연어 처리로는 KoBERT라는 모델이 우리 프로젝트에 가져다 쓰기에 가장 적합한 Open Source라고 판단하여 프로젝트를 진행하였고, KoBERT라는 모델에 대해 이해하기 위해서 KoBERT의 전신인 BERT모델에 대해 공부를 하게 되었다.
BERT(Bidirectional Encoder Representations from Transformers)는 2018년에 구글이 공개한 사전 훈련된 모델입니다.
BERT라는 이름은 세서미 스트리트라는 미국 인형극의 케릭터 이름이기도 한데, 앞서 소개한 임베딩 방법론인 ELMo와 마찬가지로 세서미 스트리트의 케릭터 이름을 따온 것이기도 합니다.
BERT Model 개요
BERT는 Transformers를 이용하여 구현되었으며, 위키피디아(25억 단어)와 BooksCorpus(8억 단어)와 같은 레이블이 없는 텍스트 데이터로 사전 훈련된 언어 모델입니다.
BERT가 높은 성능을 얻을 수 있었던 것은, 위에서 언급한 바와 같이 레이블이 없는 방대한 데이터로 사전 훈련된 모델을 가지고, 레이블이 있는 다른 작업에서 추가 훈련과 함께 하이퍼파라미터를 재조정하여 이 모델을 사용하면 성능이 높게 나오는 기존의 사례들을 참고하였기 때문입니다.
* 파인 튜닝(Fine-tuning) : 다른 작업에 대해서 파라미터 재조정을 위한 추가 훈련 과정
BERT Model의 내부 동작
Input = Token Embeddings + Segment Embeddings + Position Embedding
Token Embeddings, Segment Embeddings, Position Embedding 이 세 가지 임베딩을 합치고 이에 Layer 정규화와 Dropout 을 적용하여 input으로 사용한다
- Token Embeddings : 자주 등장하는 sub-word 자체가 단위가 되어 자주 등장하지 않는 단어는 쪼개진다.
- Segment Embeddings : 두 개의 문장을 문장구분자와 함께 합쳐 넣는다
- Position Embedding : 단순하게 Token순서대로 0,1,2,3... 과 같이 순서대로 인코딩 한다.
BERT Model 언어 모델링 구조
임베딩을 한 후 훈련 데이터에대한 인코딩이 끝났다면, 이제 Pre-training(사전훈련)을 시켜야 한다.
기존의 방법들은 보통 문장을 왼쪽에서 오른쪽으로 학습하여 다음 단어를 예측하는 방식이거나, 예측할 단어의 좌우 문맥을 고려하여 예측하는 방식을 사용한다.
그러나 BERT 언어의 특성이 잘 학습되도록 2가지 방식, MLM(Masked Language Model)과 NSP(Next Sentence Prediction)을 사용합니다.
스마트인재개발원
4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관
www.smhrd.or.kr
'Deep Learning' 카테고리의 다른 글
[스마트인재개발원] Keras Iris 분류모델 실습(MLP 실습) (0) | 2021.07.11 |
---|---|
[스마트인재개발원] MLP(Multi Layer Perceptron) 다층 퍼셉트론 (0) | 2021.07.07 |
[스마트인재개발원] 딥러닝(Deep Learning) 과정, AND논리 실습 (0) | 2021.07.04 |
[스마트인재개발원] 딥러닝(Deep Learning) 개요 (0) | 2021.07.02 |
[스마트인재개발원] NLP(자연어 처리) (0) | 2021.06.27 |