4. 머신러닝 진입 장벽이 너무 높지 않을까?
● AI, ML 관심은 있지만 진입장벽이 너무 높지 않을까?
→ 깊이있게 배우고 전문가가 되려면 어렵지만 그건 다른 기술도 마찬가지
● 우리에겐 Google, Stack OverFlow 가 있다.
5. Alphago / AI / Machine Learning
● Alphago
● Deep Learning
● Machine Learning
● Tensor Flow
6. TensorFlow ?
● Open Source Machine Learning Library
● Numerical computation using data flow graphs
● Data flow graphs describe mathematical computation
with a directed graph of nodes & edges.
● Deep Flexibility, True Portability, Connect Research and
Production, Auto-Differentiation, Language Options,
Maximize Performance …
7. Java Cafe 오프라인 스터디 모집
● 혼자서는 공부가 힘들 수도 있겠다.
● 여러명이 모여서 의논하다 보면
뭔가 더 도움이 될것 같다.
● 온오프믹스로 텐서플로우 스터디 모집
8. 스터디는 진행했으나 수많은 진입 장벽들
● 스터디원 모두 인공지능 / 머신 러닝 관련 지식들이 전무
● 난무하는 새로운 용어들
● 영어 능력 부족 (관련 자료들 대부분이 영어자료)
● 수학 손뗀지 오래
→ 한국어 동영상 강의로 스터디 진행 http://hunkim.github.io/ml/
9. 머신러닝 이란?
● 일반적인 프로그램은 프로그래머가 프로그램의 동작 방식을 설계
● Explicit programming 으로 처리하기 곤란한 문제들
(Explicit programming)
● 프로그램이 스스로 학습하게 만들어 문제를 해결하자
EX) 스팸필터, 자동주행 : 너무 많은 룰이 필요해서 어려움
10. 머신러닝 - Supervised Learning
● Supervised / Unsupervised Learning
● 지도 학습
→ 학습데이터(Training Set) 로 학습
14. Linear Regression - 학습 데이터
학습시간
토익성적학습시간(시간) 토익성적(점)
54 800
8 320
30 600
24 630
46 700
12 680
20 730
37 720
40 700
48 920
15. Linear Regression - 가설 H(X)
Y = ax + b
h(x) = wx + b
학습시간
토익성적학습시간(시간) 토익성적(점)
54 800
8 320
30 600
24 630
46 700
12 680
20 730
37 720
40 700
48 920
16. Linear Regression 에서 학습의 의미
● Linear Regression 에서 프로그램이 학습한다는 의미
→ 학습 데이터를 기반하여 가설 H(x) 에서 최적의 w(가중치) 와 b(상수) 값을 찾는 것
→ H(x) = wx + b
● 어떻게 최적의 값을 찾을것인가?
→ Cost Function 설계
20. Gradient Descent Algorithm
● 현재 예측된 W 값에서 기울기를 구하고
기울기가 양수인 경우 W 값을 Step 만큼
감소, 음수인 경우 Step 만큼 증가
● 임의의 W값을 선택
● 해당 점에서 Cost 값이 적은 쪽으로
Step에 따라 경사를 타고 내려감
● 결국 해당 점에서 미분이 필요
24. Linear Regression 요약
● 비례관계에 있다고 여겨지는 사건을 예측할 때 사용 가능
● 프로그램이 학습한다는 의미는 h(x) = wx + b 에서 최적의 w, b 를 찾는 것
● (w, b) 를 찾기 위하여 (실제값 - 예측값)^2 을 비용으로 하는 함수 설계
● 임의의 w, b 를 구하고 해당 값에서 cost 를 줄이는 방향으로 w 와 b 를 수정.
27. Matrix
학습시간(시간)(x1) 해외거주(월)(x2) 토익성적(점)(y)
54 12 800
8 0 320
30 12 600
24 15 630
46 12 700
70 0 300
20 36 920
37 12 720
40 12 700
48 24 920
● w 의 행렬을 W, x 의 행렬을 X 라 하면
● h(x) = WX
● 결국 기존 가설을 그대로 적용 가능
38. Multinomial Logistic Regression - Sigmoid
● 여러개의 타입을 계산하는 것이 아닌 각 결과인가 아닌가에 대한
● EX) 학점 A, B, C, D, F 인 경우
→ A[FALSE], B[TRUE], C[FALSE], D[FALSE], F[FALSE]
TRUE, FALSE 를 구함
39. Softmax
● 각 분류에 대한 Sigmoid 를 구하고 Sigmoid 총합에 자기자신의 비중을
구함
● EX) A, B, C, D, F 에 대한 확률을 구함. 각 확률을 더하면 1
→ Sigmoid 총합에 자기자신의 비중이므로 각 분류별 % 값이 나오게 됨.
70. TensorFlow 어떻게 쓸 수 있을까?
● 시각장애인을 위한 이미지 설명 프로그램
● 중학교 2학년이 개발
● RNN / TensorFlow 사용
● link
71. TensorFlow 어떻게 쓸 수 있을까?
● 오이 품종 자동 분류 기계
● 일본에서 TensorFlow 로 개발
● link
72. 발표에서 제대로 다루지 못한 것들
● Recurrent Neural Network
● Convolutional Neural Network
● Backpropagation Problem
● Google Cloud Machine Learning
73. 스터디 하며 어려웠던 점들 (삽질들)
● 딥러닝의 경우 GPU 가속이 중요
→ Macbook 에서는 세팅 어려움, 우분투 추천
● 부족한 한글자료
→ 최근에는 점차 늘어나는 추세
● 오랜만에 보는 수학공식들
→ 개발자 관점에서 크게 중요하지 않을 수 있음. 원리를 이해하고 응용만 해도 충분.
● Learning Rate 조절
→ Cost 가 발산하는 경우 확인 필요
74. 자바카페 커뮤니티 PPL
● 오프라인 스터디 위주 개발자 모임
● 원하는 경우 각종 세미나서 발표기회 제공
● 오프라인 모임만 가질수 있는 장점
● 오픈소스 활동