기본 콘텐츠로 건너뛰기

Deep Learning

Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep learning. MIT Press, 2016. [Link]

1. Introduction [Sum-up]
* AI는 컴퓨터가 잘하는 일(formal task: e.g, 수치계산, 규칙작업)말고 사람이 (직감적으로) 잘하는 일(informal task: e.g., 언어/이미지 이해)을 해결하는데 목표를 가진다. 
* 사실 정작 사람은 직감적으로 잘하는 일들(informal tasks)을 왜 잘하는지 모른다. 우리는 그것들을 세상/지식으로부터 배우는 데, 그것들은 지극히 주관적(subjective)이고 직감적(intuitive)이기 때문에 형태적으로 표현(formally describe)하기 힘들다.
* AI (deep learning)는 세상/문제를 '계층적 개념'(hierarchy of concepts) 형태로 이해해서 사람이 어떤 개념/형태를 명시(formally specify)해주지 않아도 사람이 잘하는 직감적인 문제(complicated concepts, informal tasks, informal knowledge)들을 자체 지능적으로 해결하고자 한다.
* AI에서 Knowledge base (hard-code knowledge)는 사람이 knowledge를 직접 design해줘야 한다. 따라서, (단순 규칙을 통한 추론만으로는) 복잡한 세상/문제의 패턴을 인식하기가 어렵다. 반면, Machine Learning은 사람이 아닌 (수많은) raw data로부터 AI만의 knowledge를 얻는 방식이다. data로부터 직접 얻기 때문에 'reliability'가 있다. 물론 양에 비례할 것이다.
* Machine Learning의 문제는 representation/feature에 '상당히' 의존한다는 것이다. 다시 말해, feature를 잘 design하기 위해서는 domain expert로부터의 hand-designed feature가 필요하다. 그렇지 않으면 모델 성능은 매우 떨어진다. (class마다 특징있는 feature들을 design해서 서로 잘 linearly separatable하게 유도해준다.) 하지만, (세상이 더 복잡해지는만큼) 더 복잡한 문제(e.g.,특히 언어/이미지)일 수록 domain expert라 하더라도 부정확한 경우가 있다. (때론 세상이 빠르게 변화해서 사람은 미묘한 변화를 인지하지 못하는 경우가 있다.)
* ML 한계점을 해결하기 위해 representation/feature를 모델을 통해 자체적으로 learning하는 Representation Learning 모델(e.g., autoencoder)이 등장. 큰 특징은 hand-designed representation이 필요없고 심지어 모델성능이 더 잘나온다는 것이다. 그리고 별도의 (사람의) 추가작업없이 새로운 task에 빨리 적용시킬 수 있다.
* factors of variance는 패턴 변동의 축, 다르게 설명하면 class끼리 잘 구분짓는 아주 중요한 feature, SVD에서 eigenvector라고 생각해도 될듯. 이런 feature는 데이터로부터 곧바로 얻어지긴 힘들다. (e.g., 합성곱) 이것들은 데이터 속에서 풍부한 변동이 있어서 concept이나 abstract으로 여겨질 수 있다. 문제는 여러 개의 factor들이 하나의 single piece of data에 영향을 준다는 것이다. (즉, factor들끼리 완벽한 독립이 아니다.) 따라서, 그렇게 중요하지 않은 factor들은 제거할 필요가 있다. (SVD후 변동크기 작은 dim들은 삭제하는 것 처럼) 
* Representation Learning의 문제점은 high-level abstract feature(=human-level understanding of data)들을 추출하기 어렵다. (모델이 더 복잡해질 필요가 있다.)
* Deep Learning(e.g., multilayer-perceptron)은 high-level abstract concept/feature를 표현하기 위해 simpler concept들을 다시 combine하는 방식을 사용한다. 한번에 이루려하지 않고, 계층구조 또는 깊이(depth)를 만들어 여러 단계를 거치게끔 만든다. 다시 말해, complicated mapping을 a series of nested simple mappings으로 변환한다. 다른 관점으로는 high-level sequential processing이 있는데, 각 계층은 memory가 있는 하나의 state가 되고 CPU의 하나의 instruction 처럼 하나의 파이프라인으로 실행된다. deep할수록 길고 복잡한 instruction을 수행한다고 생각할 수 있다. 각 state info는 pointer라고 생각될 수 있다.
* 따라서, 크게 딥 구조를 가지는 딥러닝에 2가지 종류의 관점이 있다. 첫 번째는 보편적으로 생각하는 방식으로 high-level의 abstract representation을 가지기 위함이고, 두 번째는 high-level sequential processing을 하기 위함이다. 첫 번째 관점의 목표는 딥 구조를 통해 진화된(=더 추상화된) representation을 얻는 것이고, 두 번째 관점의 목표는 딥 구조를 통해 더 많은 명령을 수행(→복잡하고 정교한 프로그램)하는 sequential processing(→이전 명령을 기억하는)을 하겠다는 것이다.
* 하나의 stack autoencoder는 representation learning이고, 여러 개의 stack autoencoder는 deep learning이다.

1.1 Who Should Read This Book? [Sum-up]

1.2 Historical Trends in Deep Learning










댓글

이 블로그의 인기 게시물

Pattern Discovery in Data Mining

Coursera Illinois at Urbana-Champaign by Jiawei Han 2015.03.19 CONTENT 1. A brief Introduction to Data Mining 2. Pattern Discovery : Basic Concepts 3. Efficient Pattern Mining Methods 4. Pattern Evaluation 5. Mining Diverse Patterns 6. Constraint-Based Pattern Mining 7. Sequential Pattern Mining 8. Graph Pattern Mining 9. Pattern-Based Classification 10. Exploring Pattern Mining Applications Lecture 1 : A brief Introduction to Data Mining - We'are drowning in data but starving for knowledge ( a lot of data are unstructured ) - Data mining : a misnomer ! -> Knowledge mining from data - Extraction of interesting patterns (non-trivial, implicit, previously unknown and potentially useful) or knowledge from massive data. - Data mining is a interdisciplinary field (machine learning, pattern recognition, statistics, databases, big data, business intelligence..) Knowledge Discovery (KDD) Process Methodology View: Confluence of Multiple Disciplines Lecture 2 : Pattern Discovery : Ba

Vector Space Model

Motivation When you want to find some information by using Search Engines, you have to make a query used for search. Unfortunately, since you don't know exactly what it means, your query will be ambiguous and not accurate. Therefore, Search Engines give you the information in a ranked list rather than the right position. Intuition In order to make a ranked list, you need to calculate the similarity between the query and documents based on terms or words. One of the calculation of similarity is dot product on a vector space. In the vector space, there are many documents with respect to word dimensions The first to rank is d2, because to see with eyes it's the most similarity with the query. Problem How do we plot those vectors wonderfully and nicely and very very fairly ? - How do we define the dimension ? - How do we place a document vector ? - How do we place a query vector ? - How do we match a similarity ? Consideration 1. The frequency of each word of Query. First, Score in

Text Retrieval and Search Engines

by ChengXiang "Cheng" Zhai CONTENT 1. Natural Language Content Analysis 2. Text Access 3. Text Retrieval Problem 4. Text Retrieval Methods 5. Vector Space Model (Retrieval Model l) 6. System Implementation 7. Evaluation 8. Probabilistic Model (Retrieval Model ll) 9. Feedback 10. Web Search Harnessing Big Text Data: Text Retrieval + Text Mining Course Summary 1. Natural Language Content Analysis 1.1 Natural Language Processing (NLP) Natural Language Processing (NLP) is a field of computer science, artificial intelligence, and computational linguisitc concerned with the interactions between computers and human (natural) languages. As such, NLP is related to the area of human-computer interaction. Many challenges in NLP involve natural language understanding, that is, enabling computers to derive meaning from human or natural language input, and others involve natural language generation. Computers can understand human language like that Koreans understand English. but, it's