JANGUN


인공지능, 머신러닝, 딥러닝 입문


김의중 지음



목차

1부 인공지능
1장 알파고와 구글 딥마인드
2장 인공지능의 역사

2부 머신러닝
3장 머신러닝 개요
4장 통계와 확률
5장 분류
6장 군집
7장 강화학습

3부 딥러닝
8장 딥러닝 개요
9장 딥러닝 전쟁의 시작
10장 인공신경망
11장 딥러닝의 핵심기술
12장 딥러닝을 위한 오픈 프레임워크



1장 알파고와 구글 딥마인드

바둑프로그램: AlphaGo Distributed > AlphaGo > Fan Hui > Crazy Stone > Zen > Pachi > Fuego > GunGo


2장 인공지능의 역사

인공지능은 여러 학문이 연계된 전형적인 융합 학문이다. 컴퓨터과학, 수학, 통계학을 중심으로 철학, 심리학, 의학, 언어학 등 실존하는 모든 학문이 광범위하게 연계돼 있다.


3장 머신 러닝의 개요

머신 러닝의 3가지 접근법
1. 신경모형 패러다임. 퍼셉트론에서 출발해서 지금은 딥러닝으로 이러지고 있다
2. 심볼 개념의 학습 패러다임. 숫자나 통계이론 대신 논리학이나 그래프 구조를 사용하는 것
3. 현대지식의 집약적 패러다임. 백지상태에서 학습을 시작하는 신경 모형을 지양하고 이미 학습된 지식은 재활용

머신 러닝에서 학습의 정의 (카네기 멜론 대학교의 톰 미첼 교수)
- 만약 컴퓨터 프로그램이 특정한 태스크 T를 수행할 때 성능 P만큼 개선되는 경험 E를 보이면 그 컴퓨터 프로그램은 태스크 T와 성능 P에 대해 경험 E를 학습했다라고 할 수 있다.
- 학습Learning = 표현Representation + 평가Evaluation + 최적화Optimization
- 표현: 어떤 태크스를 수행하는 에이전트가 입력값을 처리해 어떻게 결과값을 만들지를 경정하는 방법
- 평가: 에이전트가 얼마만큼 태스크를 잘 수행했는지 판정하는 방법
- 최적화: 평가에서 설정한 기준을 최적으로 만족하는 조건을 찾는 것
- 일반환Generalization: 여러 가지 방법에 의해 학습이 완료된 후, 새로운 데이터에 대한 예측을 하는 것

분류나 예측, 군집과 같은 기술, 모델, 알고리즘을 이용해 문제를 해결하는 것을 컴퓨터과학 관점에서는 머신 러닝이라고 하고, 통계학 관점에서는 데이터 마이닝이라고 한다. 이러한 현상이 발생한 계기는 1990년대에 들어서면서 실용적인 머신 러닝 연구를 위해 통계학에서 다루고 있는 사례들을 컴퓨터 과학자들이 컴퓨터를 이용해 좀 더 효율적인 해결 방안을 찾아내는 과정에서 비롯됐다고 할 수 있다.
머신 러닝은 학습 데이터에 레이블이 있는 경우와 그렇지 않은 경우에 따라 각각 지도학습과 비지도 학습으로 구분한다.
- 지도 학습: 분류Classification, 예측prediction
- 비지도 학습: 군집clustering
- 분류: 알고리즘에 따라서, kNN(k Nearest Neighbor), 서포트 벡터 머신, 의사결정 트리 모델
- 예측: 회귀Regression 모델 - 함수식으로 표현하는 것이 목적
- 분류의 결과값은 학습 데이터세트에 포함된 레이블 중 하나이고 회귀의 결과값은 학습 데이터 세트로 결정된 함수식으로 계산한 임의의 값이다.
- 군집: 데이터끼리 그룹화하는 것이 학습 목표로 평할flat 또는 분할 기반 군집 기법(k-means, k-medoids, DBSCAN)과 계층적 군집 모델 방법(병합적 군집agglomerative clustering과 분학적 군집divisive clustering)이 있다.

특성은 입력 데이터를 구별해낼 수 있는 특징들을 정량화 한 것이다. 통계학에서는 ‘설명변수’, ‘독립변수’ 또는 ‘예측변수’로 표현하기도 한다.
강화학습을 지도학습으로 분류하는 이유는 에이전트가 취한 모든 행동에 대해 환경으로부터 보상과 벌칙을 지도 받아 학습하기 때문이다. 그러나 강화학습은 다른 전형적인 지도학습처럼 사전에 사람으로부터 가이드를 받고 학습하지 않을뿐더러 사람이 아닌 환경으로부터 보상과 벌칙을 피드백 받기 때문에 세 번째 머신 러닝으로 분류하는 것이 일반적이다.
강화학습을 발전시킨 학문 분야는 여러 가지가 있는데, 그 중에서 특히 행동심리학(-‘시행 착오’)과 제어 이론(-‘동적 시스템 최적화’)이 가장 큰 영향을 끼쳤다.
머신 러닝은 이진수로 표현된 디지털 데이터를 빠르게 계산하도록 설계된 컴퓨터에게 사람처럼 보고, 듣고, 이해하고, 예측하도록 학습시키는 것이 목표다
입력 데이터를 벡터 형태로 표현하는 이유는 입력 데이터가 n개의 특성으로 정량화됐다면 n차원 벡터 공간에 표현할 수 있어 데이터를 직관적으로 이해하고 수학적인 분류 모델을 만들기 쉽기 때문이다. 만약 m개의 변수가 있는 문제를 풀기 위해서는 m개의 관계식이 필요한데, 이때 m개의 관계식을 묶어주는 데 mxm 행렬이 이용된다.
학습한다는 말은 간단히 말해 어떤 판단 규칙을 만든다는 얘기다. 즉 판별식을 만든다. 판별식을 만드는 과정이 바로 컴퓨터가 학습하는 머신러닝이다.


4장 통계와 확률

오늘날의 통계학은 경험과학에서 생길 수 있는 불확실성을 계량적으로 설명하기 위한 논리와 방법론을 연구한다. 즉, 실험이나 관찰을 통해 기록된 데이터가 의미하는 바를 수학적 기법을 통해 논리적으로 유추하는 학문이다. 이를 위해 통계학에서는 자료를 수집, 분류, 분석, 표현해 어떤 현상의 인과관계를 설명하고, 나아가서는 미래에 벌어질 상황을 예측한다. 기술통계학은 관찰된 자료를 수집하고 정리 및 요약해 현재의 상황을 이해하는 것이 목적이고, 추리통계학은 모집단에서 추출된 표본 자료를 분석해 확률이론을 바탕으로 모집단의 특성을 추리하는 데 중점을 둔다.
상관분석은 독립변수와 종속변수 간의 관계의 강도, 즉 얼마만큼 밀접하게 관련돼 있는 지를 분석하는 것이다.
회귀분석은 관측된 사건들을 정량화해서 여러 독립변수와 종속변수의 관계를 함수식으로 설명하는 방법이다. 종속변수는 우리가 알고 싶어하는 결과값이라고 설명할 수 있는데, 기대값 또는 예상값이라고도 한다. 독립변수는 이러한 결과값에 영향을 주는 입력값이다.
결정계수는 독립변수를 가지고 얼마만큼 의미 있게 종속변수를 예측할 수 있는지를 판별할 때 사용되는데, 일반적으로 0.65보다 크면 의미 있는 회귀식이라고 말한다.
로지스틱 회귀 분석은 출력값이 [0, 1]을 경계로 결정되는 로지스틱 (시그모이드) 함수를 회귀식으로 사용하기 때문이다.
빈도론과 베이지안 비교

빈도론: 확률은 그 사건이 일어난 횟수의 장기적인 비율이다. 얼만큼 빈번하게 특정한 사건이 반복되어 발생하는가를 관찰하고 이를 기반으로 가설을 검증하기 때문에 경험적 사실만을 가지고 판단한다.
베이안론의 확률적 추론 방법은 어떤 가술의 확률을 평가하기 위해 주관적으로 또는 임으적으로 사전 확률을 먼저 정하고 관찰된 데이터를 기반으로 하는 가능도를 계산해서 처음에 설정된 주관적 확률을 보정하는 방법이다.


5장 분류

kNN: 새로운 데이터가 어느 그룹에 속하는 지 분류하기 위해 그 데이터에 가장 가까이 있는 학습 데이터가 속한 그룹을 알아보는 것이다.
규제화Regulation: 노이즈나 아웃라이어의 영향도를 최소화하는 것인데 전체 에러를 최소화하는 최적화 문제를 통해 구현할 수 있다. 즉, 노이즈의 영향도를 줄이는 구속 조건을 추가해서 전체 로스 함수 또는 목적 함수를 최소화한다.
SVN(support Vector Machine): 두 그룹을 구별하는 직선식을 찾되, 직선 식을 사이에 두고 가능하면 두 그룹이 멀리 떨어져 있도록 하는 직선식을 구하는 것이다. 왜냐하면 두 그룹이 멀리 떨어질수록 나중에 입력된 데이터를 판별하는 데 더 높은 신뢰도로 예측할 수 있기 때문이다. 두 직선 사이의 거리를 마진을 최대화한다.
커널은 선형 분류가 어려운 분포를 선형 분류가 가능한 한 차원이 증가된 공간으로 변환시킬뿐더러 변환함수 사이에 스칼라 곱의 계산이 쉬운 형태로 돼 있다.
의사결정 트리는 전형적인 분류 모델로, 다른 지도학습 머신 러닝 모델과 마찬가지로 알고자 하는 데이터가 소속된 그룹을 알아낸 것을 목적으로 한다. 기본 개념은 스무고개 게임과 같다. 스무고개의 효과적인 전략은 반복적인 이등분을 할 때 이등분의 효과가 큰 속성을 먼저 묻는 순으로 진행하는 것이다.
- 하향식 의사결정 흐름
- 그리디 탐색 greedy search 기반의 트리 구조
정보함수란 어떤 사건이 나한테 얼마만큼의 정보의 가치를 주는지를 확률적으로 결정하는 것이다.
엔트로피 개념은 정보이론의 개념을 기반으로 하면, 그 의미는 여러 가지 임의의 사건이 모여 있는 집합의 순수성 또는 단일성 관점의 특성을 정량화해서 표현한 것이다. 정보이론에서는 엔트로피의 결과값 단위를 비트로 표현하는데, 비트를 스무고개의 예로 해석하면 그 상황을 이해하는 데 얼마만큼의 질문이 필요한가로 이해하면 될 듯 하다


6장 군집

군집 모델의 주요 목적은 레이블이 없는 데이터세트의 요약정보를 추출하고, 그러한 요약 정보를 통해 전체 데이터세트가 가지고 있는 특징을 발견하는 것이다.
k-means 클러스터링: k가 바로 클러스터의 개수를 의미한다. 분류할 클러스터의 수가 정해지면 각 클러스터마다 초기 중심을 정하고, 학습이 진행되면서 각 클러스터마다 최적의 중심으로 이동한다. 최적의 중심을 구하는 것이 알고리즘의 핵심이다.
DBSCAN(Density Based Spatial Clustering of Application with Noise) 클러스터링: 노이즈 및 아웃라이어 데이터 식별에 강한 군집 모델. 밀도 있게 연결돼 있는 데이터 집합은 동일한 클러스터라고 판단. 코어/경계/노이즈의 3가지 형태로 구분
계층형 군집모델


7장 강화학습

강화학습과 연계된 학문 분야

효과의 법칙은 쉽게 말해 시행착오trial and error이다.
에이전트는 환경으로부터 상태를 관측하고 이에 따른 적절한 행동을 하면 이 행동을 기준으로 환경으로부터 보상을 받는다. 관측은 상태로 변환된다. 관측-행동-보상의 상호작용을 반복하면서 환경으로부터 얻은 보상을 최대화하는 태스크를 수행하는데, 그 태스크를 수행하기 위한 일련의 과정이 바로 강화학습이다. 여기서 ‘관측 – 행동 – 보상’의 과정을 경험이라고도 한다.
에이전트가 빠른 시간 내에 주어진 환경에 존재하는 모든 상태를 파악하고 보상을 최대화할 수 있는 행동을 취하기 위해서는 소유 활용exploitation과 탐험exploration의 절충trade-off 문제를 해결해야 한다. 활용은 기억, 탐험은 탐색으로 연관시킨다면 기억과 탐색의 결합은 강화학습의 핵심이라고 할 수 있다.
마코프 프로세스
마코프 보상 프로세스: 현재 상태의 가치는 현재 상태의 보상과 다음 단계 상태의 확률적 평균 가치의 합으로 계산된다. 미래가치의 현재가치로의 환산이 중요 사항이다. 즉 현재 가치는 미래가치가 축적된 것인데 이때 ‘미래가치를 현재 기준으로 어느 정도의 가중치로 고려할까’라는 판단이다.
각 상태에 따라 취할 수 있는 행동을 연결해주는 함수를 정책policy라고 한다.


8장 딥러닝 개요

딥러닝은 알고리즘에 의해 컴퓨터가 붓꽃의 사진을 보고 스스로 특성을 찾아내고 판별해 내는 방법이라고 할 수 있다. 딥이라는 말은 신경망의 층layer이 많고 (10층 이상) 각 층마다 고려되는 변수가 많다는 뜻이다.


9장 딥러닝 전행의 시작

딥러닝의 선두주자 구글
딥러닝의 모범생 마이크로소프트
세계 2위의 검색 서비스 바이두
디지털 영토 확장을 위한 신무기 딥러닝: 페이스북
스마트 기업을 지향하는 IBM
인공 지능에 소극적인 애플
딥러닝 기술의 공백을 메워주는 스타트업들: 범용 프레임워크, 컴퓨터 비전, 자연어 처리, 응용 서비스

딥러닝 리딩 그룹
- 데미스 하사비스: 구글
- 제프린 힌튼: 구근 DNN 연구소, 토론토 대학 교수
- 앤드류 응: 바이두
- 얀 르쿤: 뉴욕대 교수, 페이스북
- 요슈아 벤지오: 몬트리올대 교수


10장 인공신경망

최초의 인공신경망 – 단층 퍼셉트론
다층 퍼셉트론
피드포워드 신경망
역전파
경사감소법


11장 딥러닝의 핵심 기술

컨볼루션 신경망
심층신뢰망(Deep Belief Network): 제한된 볼츠만 머신을 빌딩블럭과 같이 층층이 쌓인 형태로 연결된 신경망
규제화:
드롭아웃의 기본 개념: 입력층과 은닉층에 있는 노드를 임의로 선택해서 확률 p 기준으로 제거하고 나서 축소된 신경망을 가지고 학습한다. 이 때 제거되는 노드의 선택은 각 층마다 그리고 학습 데이터마다 독립적으로 결정된다.


12장 딥러닝을 위한 오픈 프레임워크

시아노
카페
토치
텐서플로우
딥러닝포제이