-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #81 from elibooklover/master
GAN Ch4-pix2pix
- Loading branch information
Showing
3 changed files
with
2,108 additions
and
46 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
{ | ||
"nbformat": 4, | ||
"nbformat_minor": 0, | ||
"metadata": { | ||
"colab": { | ||
"name": "Ch1-Introduction.ipynb", | ||
"provenance": [], | ||
"collapsed_sections": [] | ||
}, | ||
"kernelspec": { | ||
"name": "python3", | ||
"display_name": "Python 3" | ||
} | ||
}, | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": { | ||
"id": "Ptu_FuqCTYYq" | ||
}, | ||
"source": [ | ||
"# 1. Introduction" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": { | ||
"id": "ka9ab3KpThBS" | ||
}, | ||
"source": [ | ||
"[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Pseudo-Lab/Tutorial-Book/blob/master/book/chapters/NLP/Ch1-Introduction.ipynb)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": { | ||
"id": "fdKdT30qmy0r" | ||
}, | ||
"source": [ | ||
"" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": { | ||
"id": "kgxQtUyNTnkX" | ||
}, | ||
"source": [ | ||
"## 1.1 문제 생성 작업 (Question Generation Task)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": { | ||
"id": "XVq5RWbSNAY3" | ||
}, | ||
"source": [ | ||
"문제 생성 작업에 대한 분류는 학자에 따라 다양하게 나눠집니다. 우선 이번 챕터에서는 Kurdi et al.의 \"A Systematic Review of Automatic Question Generation for Educational Purposes\" 연구 기반으로 설명을 하도록 하겠습니다. 문제 생성 과정에 있어서 크게 이해 단계와 생성 과정이 있습니다. 인풋 데이터인 문장을 받아, 컴퓨터가 이해하는 과정을 이해 관계라고 봅니다. 이러한 이해 과정을 거친 후 인풋 데이터를 바탕으로 문제 생성을 하는 과정을 생성 과정이라고 합니다. \n", | ||
"\n", | ||
"이해 단계에서는 구문론 기반 (syntax-based)과 의미론 기반 (semantic-based) 접근법이 있습니다.\n", | ||
"\n", | ||
"구문론 기반 접근법은 텍스트의 구문론 트리(syntax tree)와 같은 인풋을 입력하여 문제를 생성합니다. 예를 들어, 구문론 기반 모델은 문장 내의 단어 의미와 상관없이, 품사 (Part of Speech) 태깅을 통해, 문장 내의 구문 특징을 추출하여, 품사 간의 관계를 파악하여 문제 생성을 결정하게 됩니다.\n", | ||
"\n", | ||
"의미론 기반 전근법은 문장 속에 의미 관계를 파악하여 문제를 생성합니다. 구문론적 접근 방법을 뛰어 넘어, 인풋 데이터를 한층 깊게 이해 할 필요가 있는데, 단순히 품사의 의미를 추출하기 보다는, 품사 간의 의미를 유추 할 수 있어야 합니다. 예를 들어, bank의 의미는 은행 일수도 있고, 제방 일수도 있습니다. 이는 문단 안에서 해당 단어의 관계에 의해 의미가 특정됩니다.\n", | ||
"\n", | ||
"생성 과정에 있어서 템플릿 (template), 규칙 (rule), 그리고 통계적인 방법 (statistical methods)이 있습니다. \n", | ||
"\n", | ||
"템플릿 기반 (template-based)의 경우, 문제 구조의 템플릿을 정해 놓고, 텍스트의 의미 또는 구문론적인 접근법을 통해 특징을 추출하여 문제를 생성합니다. 규칙 접근법은 문장 안에 품사들의 주석(annotations) 정보를 이용하여, 문제를 생성합니다. 예를 들어, where, which, when과 같은 wh의문사 문제를 생성하는 작업이라면, 해당 자리에 wh가 들어가는 품사 주석의 정보를 받아 wh의문사 문제를 생성하게 됩니다. 마지막으로, 통계적 접근 방법은 시퀀스-투-시퀀스(sequence-to-sequence)가 대표적입니다. 데이터셋을 학습시켜 동시에 일어날 수 있는 가능성을 사용하여, 문제를 생성하게 됩니다. \n", | ||
"\n" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": { | ||
"id": "V7yydlpETxFe" | ||
}, | ||
"source": [ | ||
"## 1.2 BERT\n", | ||
"\n", | ||
"[BERT](https://github.com/google-research/bert) (Bidirectional Encoder Representations from Transformers)는 2019년 10월 25일 구글 리서치 팀에 의해 공개된 자연어처리 사전 훈련 모델입니다. BERT 모델은 100여개가 넘는 언어 학습을 지원하며, `BERT-Base`, `BERT-Large`, `BERT-Base, Multilingual`, 그리고 `BERT-Base, Chinese` 모델이 있습니다. 각각의 모델 뒤에 `Cased`와 `Uncased`가 붙혀져 있는데, `Uncased`의 경우 대소문자 구분을 하지 않는 모델입니다.\n", | ||
"\n", | ||
"BERT를 이용하여 특정 과제를 수행할 수 있는데요, 이를 위해서는 세부적인 과제를 수행하도록 파인튜닝(fine-tuning) 작업이 필요합니다. BERT은 사전 학습된 언어모델로서 파인튜닝을 통해, 원하는 작업을 수행할 수 있습니다. 사전 학습된 언어모델을 이용하여 다운스트림 작업(down-stream tasks)을 수행할 수 있는 방법에는 `feature-based`와 파인튜닝(`fine-tuning`) 방식이 있습니다. `feature-based` 접근법에는 Word2Vec, GloVe, ELMo와 같은 방식이 있으며, 파인튜닝(`fine-tuning`) 방식에는 대표적으로 GPT 모델이 있습니다.\n", | ||
"\n", | ||
"BERT가 발표 되었을 당시, GPT-2와 비교를 많이 했는데요, 두 모델 모두 파인튜닝(`fine-tuning`) 방식을 사용하지만, GPT-2는 단방향(unidirectional) 언어 모델인 반면, BERT는 양방향(bidirectional) 언어 모델로서 차이가 있었습니다. 향후 GPT를 개발한 OpenAI에서는 BERT처럼 양방향 언어 모델인 GPT-3를 내놓게 됩니다.\n", | ||
"\n", | ||
"양방향 언어 모델의 장점은 `fill-in-the-blanks`와 같이 앞뒤 문맥에 맞게 빈칸에 알맞은 단어를 추측하는 작업에 아주 높은 성능을 보여주고 있습니다.\n" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": { | ||
"id": "qZQYcfHKTzTq" | ||
}, | ||
"source": [ | ||
"## 1.3 GPT-2 (미정)" | ||
] | ||
} | ||
] | ||
} |