야사와 만화로 배우는 인공지능
인공지능
인공지능을 정의한 마빈 민스키Marvin Minsky(MIT) vs 신경망 '퍼셉트론' 프랭크 로젠블랫Frank Rosenblatt(코넬연구소)
- 퍼셉트론: 학습시켜 추론
쿠니히코 후쿠시마Kunihiko Fukushima의 네오코그니트론Neoognitron(1980): CNN 모델의 근간,
- s-cell(simple)+c-cell(complex)의 여러층으로 만듦(계층형 네트워크 구조), 추출+모으기의 반복의 결과!
존 홉필드John Hopfield의 홉필드Hopfield 네트워크 $\to$ 제프리 힌튼Geoffrey Hinton의 볼츠만 머신Restricted Boltzmann Machine(RBM)(1984)
- 제프리 힌튼의 백프로퍼게이션 Back-propagation
- 1989년 얀 레쿤 & 요수야 벤지오의 CNN = (네오코그니트론Neoognitron( + 볼츠만 머신Restricted Boltzmann Machine + 백프로퍼게이션Back-propagation)
- 얀 레쿤은 LeNet5 개발(손 글씨 우편 번호 자동 인식)
알고리즘(코호넨 맵, 코호넨 네트워크)
- 연결가중치 초기화
- 입력벡터 지시
- 벡터와 모든 뉴런 간 거리 계산
- 최소거리 출력 뉴런 선택
- 승자 뉴런과 이웃 뉴런들 연결 가중치 조겅
- 지정된 학습 횟수 반복
- 벡터 간 거리는 유클리디만 거리법, 연결 가중치 조정은 SOM에서 제시한 연결 가중치 조정식 사용
- 코호넨Kohonen의 중요한 기여 SOM(Self-organizing map): 자기 조직회지도
코호넨 네크워크 활용: 화상 처리, 문자 인식, 연상 기억, 음성 변환, 데이터 마이닝, 패턴 인식, 최적화 문제, NP-Hard(TSP, Traveling Salesperson Problem) 등
- NP-Hard: 문제거 계산 불가능할 정도로 지나치게 복잡할 경우로 실제 최적해가 아니더라도 최적해에 가까운 답을 찾는다.
ADALINE 모델
- input $\to$ weights가중치 $\to$ Net Inputs Function순입력함수 $\to$ Activationfunction실제값과 예측값의 차이 계산 최소가 되게! $\to$ Quanatiger -1 또는 1로 표시 $\to$ output
- 얀 레쿤이 발견한 논문 $\to$ 데이빗 럼멜하트David E. Rumelhart(캘리포니아 대학)과 제프리 힌튼Geoffrey Hinton에 의해 백프로퍼게이션Back-propagation이 다시 정리되어 신경망 부활
ADALINE 모델에서 실제값-예측값 계산시 최소화하기 위해 비용함수J(w)가 사용된다.
$w_j = w_j + \Delta w_j = w_j - \eta \Delta J(w) = w_j - \eta \sum_{i}(y_i-\hat{y_i}x_{ji})$
홉필드John J. Hopfield의 첫 논문 - 신경 회로망과 응집력이 있는 물리적 시스템(이론 물리, 신경생물학, 컴퓨터 과학)
허버트 사이먼Herbert A. Simon의 인공지능 연구 목적 2가지
- 인간 능력 증진(활용측면)
- 어떻게 사고하는지 이해(원리 추론)
- 오류역전파 학습 알고리즘 형식화를 통해 인간인지에 대한 접근 시도를 보여주기도 함
뉴욕대 조경현 교수
- GRU(Gated Recurrent Unit) 모델(LSTM 모델 개선)
- forget-gate와 input-fate를 update date로 통합하고 cell state와 hidden state를 하나로 통합한 것
딥러닝(여러 층으로 구성된 신경망을 학습시키는 방법)
- 제프리 힌튼Geoffrey Everest Hinton + 요슈아 벤지오Yoshua Bengio + 얀 레쿤Yann LeCun
자비에 글로럿Xavier Glorot - ReLU 비선형성을 사용하여 딥러닝
요슈아 벤지오 Yoshua Bengio - MILA(the Montreal Institute for Learning Algorithms) 세워서 삼성전자와 협력!
제프리 힌튼
- A fast learning algorithm for deep belif nsts 깊은 신경망 네트워크를 잘 학습시키기 위해 초기화가 중요
- 볼츠만 머신 응용한 RBM으로 두개층 쌓아가는 초기화 방법 제안
- 신경망 깊으면 학습이 되지 않는 vanishing gradient 문제 해결 가능성 시사
- RBM: Backward, Foreward 반복하여 weight 조정
2010년 몬트리온 대학 요슈아 벤치오 연구실의 자비에 글로럿이 초기화하려는 신경망 구간에서 input 노트와 output 노트 수에 비례하여 정규분포로 초기화하면 훨씬 쉽고 빠르게 초기화 가능 보여줌
$$N(\phi, \sqrt{\frac{2}{(입력수+출력수)}})$$
케이밍 허Kaming He: ReLU 함수에 효과적 초기화 방식 제안
$$N(\phi,\sqrt{\frac{2}{입력수}})$$
알렉스와 일리야
- 제한된 시간에 성능을 내기 위해 자신들의 모델에 GPU 기능 추가
- but, overfitting 문제
- 니티시 스리바스타바Nitish Srivastava: 모든 노드를 계산하지 않고 랜덤하게 일부 노드 계산 값을 버리고 계산하자 $\to$ 드랍아웃 dropout
- 활성화 함수인 ReLU로 바꿔보니 훨씬 향상
- ILSVRC 대회 오류율 26% $\to$ 15% 로 떨어뜨려 우승
존 매카시John McCarthy
- 인공지능AI 용어를 처음 사용(1955)한 존 매카시John McCarthy, MIT에서 LISP(AI 현언어) 개발(1958)
마빈 민스키Marvin Minsky
- 석사 과정때 SNARC(시행착오를 통해 학습할 수 있는 신경망 기계) 만듦
페이페이 리Fei-Fei Li
- IMGENET 대회 만듦 $\rightarrow$ 여기서 제프리 힌튼의 슈퍼비전 팀이 딥러닝 기술로 압도적 우승
제프 딘Jeff Dean
- 마빈 프로젝트에 참여(인간 뇌구조를 본 딴 신경망 연구) $\rightarrow$ google brain으로 프로젝트 명 변경
딥러닝의 Hello world! MNIST데이터 셋(Modified National Institute of Standards and Technology Database)
- 손으로 쓴 숫자로 이루어진 대형 데이터베이스
- NIST에서 1986년 손글씨 우편번호를 읽어 빠르게 분류할 수 있는 방법 고안
- 얀 레쿤의 CNN으로 분류 선공
- 고등학생들의 글씨인 NIST SD-1(Special Database)과 인구조사국 직원들의 글씨인 NIST SD-3로부터 데이터
- 정규화, 표준화 보정 통해 MNIST 데이터 셋 생성
- 데이터가 핵심인 딥러닝에 큰 기여
신경망학회인 인공신경망학회 NIPS(Neural Information Processing Systems)
국제 머신러닝학회 ICML(International Conference on Marchine Learning)
회귀분석
- 평균으로의 회귀 성질이 있기 때문, 예측 가능 $\rightarrow$ 프란시스 골턴Francis Galton이 고안
- 여기 적용된 최소제곱법(가우스): 점과 점 사이를 지나는 선을 구할 때 각 점과 그 선 사이의 거리가 최소가 되는 선을 구하는 방법
머신러닝에서 지도학습의 분류classification
- 레이블이 있는 데이터로부터 모델을 만들어 새로운 데이터의 레이블을 예측하는 것
비지도학습: 레이블이 없는 데이터 내부의 패턴과 구조를 발견하는 것
군집화: 비슷한 속성끼리 묶어주는 알고리즘
K-means 알고리즘
- 주어진 데이터에서 찾아내고자 하는 k개 군집 결정
- 초기군집 결정 k개의 다른 포인트를 임의결정
- 각 데이터별로 k개의 초기군집까지 거리를 계산, 가장 가까운 거리에 있는 군집에 해당 데이터를 할당
- 할당이 끝나면 각 군집의 중앙위치를 구해(평균일수도, 중앙값일수도있음) 각 데이터 사이의 거리를 기반으로 다시 데이터를 군집에 할당
- 더 이상 할당된 군집의 중앙위치가 변하지 않을때까지 반복
비모수적: 모집단에 대한 정보없이 접근하는 방식
K-NN 알고리즘(K근접 이웃)
- 분류와 회귀를 사용한 비모수적 패턴 인식 방법
- 에블린 픽스Evelyn Fix, 조셉 하지스 Joseph Lawson Hodges Jr.
나이브 베이지언
- 스팸메일이나 문서분류에 많이 쓰임 $\rightarrow$ 베이즈 정리로부터 유도(경험적 확률론)
- 각각의 조건이 독립적이라고 가정하고 긴딘하게 계산하는 방식
SVM알고리즘
- 선형 SVM: 서로 다른 그룹을 구별할 수 있는 직선을 찾는데 이때 오분류의 정도를 조정하여 가장 크게 떼어놓을 수 있는 직선을 찾음
- 비선형 SVM: $f(x)=x^2$(커널이라 칭함)을 적용하여 직선에 있는 값들을 2차평면으로 변환하면 판단할 수 있는 선을 찾을 수 있음
얼헌트Earl B. Hunt의 CLS Cconcept learning system
- 모두 A의 요소이면 Positive
- 모두 A의 요소가 아니면 Negative
- 그렇지 않으면 부분집합을 만들어 다시 처음부터 수행
로스퀀란Ross Quinlan의 의사결정 트리 알고리즘
- concept learning에 경험적 접근,
- 머신러닝 분야에서 널리 쓰이는 이유
- 이해가 쉽고
- 빠르게 배울 수 있고
- 매우 정확(미세조정없이도)하기 떄문
랜덤포레스트(CART classification and regression trees알고리즘에서 발전)
- sample data 조정하여 정확성 높인 boosting 알고리즘 등장
SDL기업: RDBMS구현을 어셈블리어로 성공 $\rightarrow$ 오라클 $\rightarrow$ Rollback segment 기술(독보적!)
하둡Hadoop - 더그 커틴Doug Cutting
R - 로스 이하카Ross Ihaka, 로버트 젠틀맨Robert Gentleman
해들리 위컴Hadley Wickham
- Practical tools for exploring data and models(http://had.co.nz/thesis/practical-tools-hadley-wickham.pdf)
- 데이터 전처리 위한 reshape
- 시각화 위한 ggplot
- 데이터분석용패키지 tidyverse
- ggplot2는 리랜드 윌킨슨의 The grammar of graphics 시각화철학을 R로 구현
the website for “R for Data Science”
- https://r4ds.had.co.nz the on-line version of work-in-progress 3rd edition of “ggplot2: elegant graphics for data analysis” published by Springer.
- https://ggplot2-book.org/ the website for 2nd edition of “Advanced R”,
- https://adv-r.hadley.nz/ R packages by Hadley Wickham and Jenny Bryan.
- https://r-pkgs.org/
알파고 만든 데미스하사비스Demis Hassabis
알고리즘 대회 이미지- ILSVRC 이미지넷 대회, 2등한 VGG!
- VGG 팀 지도교수 앤드류 지세르만Andrew Zisserman "Multiple View Geometry" with Richard Hartley
이안 굿 펠로우Ian Goodfellow - GAN(Generative Adversarial Network)
- 두 개의 신경망을 서로 경쟁시키면서 이미지를 만들어냄
- 가짜 이미지를 만드는 생성자와 이미지의 진위를 판별하려는 식별자가 서로 경쟁을 반복하면 가짜 이미지의 정밀도가 높아지도록 만드는 것
조경현교수(제프리 힌튼의 2018 주목한 인물 50에 듦)
- 딥러닝을 이용한 자연어 처리 분야 최고연구자
- GRU(Gated Recurrent Unit)제시, LSTM의 발전된 버전(RNN 개선한 모댈)
- 신경기계번역NMT에 사용되는 핵심기술
- 단어 하나하나 따로 번역하지 않고 문장의 전체 맥락을 파악한 후 번역하는 기술로 자연스럽게 번역할 수 있다는 장점
- 기존의 통계적 기계 번역 SMT에서 NMT로 전환하게 되는 계기
딥러닝 강의 CS231n(http://cs231n.stanford.edu/)
- 딥러닝 CNN을 황용한 영상 이미지 인식 수업
설명 가능한 인공지능 Explainable Artificial Intelligence (XAI)
- 인공지능을 설명할 수 있게 만들어 많은 모델에 적용할 수 있게끔.
- 논의가 한창..
뉴럴 스타일 트랜스퍼(Neural Style Transfer, NST)(https://deepart.io/)
CIFAR(Canadian Institute For Advanced Research); 캐나다에 있는 인공지능 연구하는 정부 기관
- https://cifar.ca/
- 단기적인 성과에 대한 조건 없이 인공지능 연구를 전폭적으로 지원하고
- 매 해 지원하는 350명의 연구원 중 절반은 국적에 상관없이 선정
AIhub(https://aihub.or.kr/)
- 인공지능 학습용 데이터를 법국가적으로 모으는 곳
- 시초는 UCI Machine Learning Repository(https://archive.ics.uci.edu/ml/index.php)
자주 사용되는 AI 데이터 셋
- 와인 품질 데이터 셋(https://www.kaggle.com/uciml/red-wine-quality-cortez-et-al-2009)
- 보스턴 집값 데이터 셋Boston housing price data set(https://www.kaggle.com/vikrishnan/boston-house-prices)
- 피마 인디언 당뇨병 데이터 셋(https://www.kaggle.com/uciml/pima-indians-diabetes-database)
넷플릭스 추천 알고리즘
- 넷플릭스 Price->본 딴 Kaggle
- 씨네매치
앤디 제시Andy Jassy
- AWS, 전세계 클라우드 시장 1위
Stackoverflow(https://stackoverflow.com/)
- 개발자들의
- 빅데이터 분석대회 플랫폼