SlideShare a Scribd company logo
1 of 28
Download to read offline
Multi-armed bandit
Multi-armed banditd을 이해하는 것,
Sutton 교수님, silver 교수님 책 2장에 나오는데
아무도 안봄.
예를 이해 못하면 강화학습을 이해 못함.
예를 이해하면 언제 써먹는지 알 수 있다.
비지니스 어플리케이션에서 실제 성과를 거두고 있는 알고리즘
어느 것을 해야 할지 모른다.
그리고 어땠을 때의 경험이 적다.
최고의 선택을 하고 싶다.
예전에 했던 것, bayesian, …
RL
https://brunch.co.kr/@chris-song/62
A B C
Reward 50 100 200
어떻게 하나?
해봐야지.
그냥 해봐야지.
오른쪽이 제일 크다는 것을
알게 됐다!
오케이 끝.
A B C
Reward 50 100 200
비용이 생긴다면,
그래서 할 수 있는 횟수의 제한이 있따면,
해보고,
가운데가 많이 나오면
가운데에 몰아서 해보자.
Greedy

제일 좋은 놈만 쫓아가면 제일 좋을거야
A B C
Reward 50 100 200
자이제 확률 껴서
수학적으로 정리해보자.
조건부 확률 R(A|S), 조건부 확률, 조건부 확률
e-greedy (epsilon)
혹시나 잘못 됐을까바 확인해보는 것.
A B C
Reward 50 100 200
자이제 확률 껴서
수학적으로 정리해보자.
조건부 확률 R(A|S), 조건부 확률, 조건부 확률
그런데 이것을 랜덤으로 고르는데,
그것이 찝찝함.
내가 잘 줄 것 같은 것을 생각해서
고르면 좋을텐데,
걍 랜덤으로 하면 찝찝함.
좀 더 확실히 골고루 뽑히게, 1000의 한정이 아니라,
Reward 막 얻는데, 1000원 준 놈이 찝찝하다.
확률이 아니라, 수식으로 뽑고 싶었다. 좀 더 확실해지고 싶다.
시간이 많이 가면 logt, 높은 게 좋은 것.
시간이 적으면, N_t(a) 그 영향이 줄인다.
그것이 UCB
그러면 그 다음 톰슨 샘플링.
베타 분포도 나오고,
배너1, 배너2, 배너3
새로 만들었다.
어느 배너가 제일 인기가 좋을까?
경험이 없어서 알 수 없음.
걍 내가 골라? 찍어? 분석이 필요해.
타겟 마케팅 해야 한다.
우선 랜덤으로 돌려본다.
배너 1,2,3 눌렀느냐 안눌렀느냐.
그게 쌓인다. {(1,3,1,2,3,1,..)}
이게 에피소드가 됨.
https://brunch.co.kr/@chris-song/66
딥러닝이 아니었을 때, 분포를 만든다는 개념. 선택했을 때의 분포.
베타분포로 모델 하는 이유가 있다.
배너1 노출후 클릭,
배너2 노출 후 클릭안 함, 배너 3 노출안함
리워드가 결정된다.
초록에서 한번, 빨강에서 한번, 파랑에서 한반 뽑는다.
파랑이 제일 크다.
파랑에서 나간다. 이런 식으로.
만들어진(혹은 만들어지고 있는) 분포를 활용한다.
나중에 학습이 잘되면 이렇게 됨.
파랑이 꼭 0.2가 안나오진다고는 할 수 없음.
이것이 톰슨 샘플링 하는 것.
그런데,
이것이 실제 쓰면,
분포가 binary하지 않고, multi variable하고,
conditional.
수렴하는 분포를 만들기가 어려움.
그래서 딥러닝을 이용.
그런데, 문제는
경험이 없는 경우,
Cold start 하는 경우!
결국 reinforcement가 필요함.
톰슨 샘플링을 reinforcement learning을 탑재해서 업그레이드 함.
나의 생각 :
결국,
데이터의 해상도가 raw하게 다룰 수 없는
수많은 환경에 대해,
톰슨 샘플링등의 확률통계적 방법을..
그 후에 아예 더 인과율을 구조화해서
강화학습을 ..
멀티암 밴딧 -> 톰슨 샘플링 -> RNN CNN -> Reinforcement
서비스 관점.
Cold start
Raw data
기초
추상적 데이터
분포접근
alex.net - vgg - inception.net - dense.net - u.net
cnn 이렇게 성능이 좋아지는 역사순으로 배우는데,
RL은 맨뒤에 거 고르는게 아니다.
하려는 도메인에 맞는 것에 맞게 해야 한다. 하나가 장점이면 하나가 단점이다.
데이터가 정확하고, 명확하고 그러면,
그냥 policy gradient 로 건너 뛰는 것이 가장 빠르고 정확하다.
Action value function 을 배웠다.
value - 생각한 것이 맞는지 틀렸는지.
Policy - 그리고서 이것.
뉴럴넷 2개.
policy-value funciton
Value 를 구하고나서 policy 를 구성하기 때문에.
policy가 망가질 확률이 적다.
Action-value
한방에 내려 꽂으면 망한다.
한번에 한뉴럴넷에서 구하니까.
J는 Jacobian 행렬
궁극적으로 하이퍼 파라미터를 업데이트 해야 한다.
미분한다.
변수 많아서 편미분한다.
그래서 Jacobian 편미분값을 벡터화 시키는 것.
이것으로 학습한다.
H를 얘기하면 크로스 엔트로피일 수도 있지만,
Hessian 행렬일 수도 있다.
이차 미분. 극대, 극소를 알기 위해서.
그라디언트 디센트가 아니라,
정답지를 한번에 아는 뉴턴 메소드 같은 것을 쓸 때. 활용함.
Function approximaetion을 뉴럴넷으로 했기 때문에
업데이트되는 policy는 .
그냥 세타 파라미터에 녹아든다.
그런데 r을 reward는 -3만큼 간다를 알려주는 녀석인데,
걔를 어떻게 알지?
사실 뉴럴넷이면 그냥 둘다 뱉어버리면 된다..
정석대로 하자.
reward를 정의해야 한다.
그래서 reward를 action-value function 을 가져와서 붙이자.
또 하나의 뉴럴넷.
(그러면 루프는 적어지긴 했지만,)
가중평균은 smooth하게 수렴할 수 있다.
리워드가 중구낭반으로 튀면 학습이 안된다.
그러면 우리는 평균에서 얼마나 수렴하는지 보자.
평균에서 얼마나 리워드가 움직이는지 보자.
그래서 나온게 baseline.
그런데 그러면 그 기준을 어떻게 잡느냐?
그것도 뉴럴넷을 만든다.
Advantage function..
이렇게 뉴럴넷이 여러개 되면 안정적이지만,
빡세다.
이렇게 하는 기준은 만약에 이상적으로 뉴럴넷이 잘 학습이 됐다고 하면,
action-value나, state-value나 차이가 없기 때문에,
reward를 advantage로 바꾼다.
Policy gradient using the advantage function .
그것이.
advantage
왜 여기서 토우
트래잭토리, 에피소드
이산 : State, action, episode [s v r a]

연속 : obsevation, X, trajectories [o x r j]
이산 용어
연속 용어
그런데 조심해야 할 것이 있따.
advantage를 구할 때,
앞에 텀들은
베이스라인은 막 움직이면 안됨.
바로 업데이트 치는 텀을 안쓰고,
행위했을 때 받은 리워드의 평균치로 baseline을 만들겠다.
그래서 baseline을 얻을 떄는 평균을 뽑을 수 잇는 모델을 사용함.
Baseline
Policy gradient
policy를 한번에 뽑는다.
action은 뉴럴넷에서 .
어떻게 연속적으로 뽑느냐?
분포 모델링.
평균과 분산을 알려준다.
시그모이드-소프트맥스 쓰면 큰일 남.
그런데 뉴럴넷에 전부 이렇게 .. 확률적으로 접근하나.
맨 뒤땅에 그냥 그래서 회귀를 붙인다.
선형근사를 한번에 붙여버린다.
이산은 그냥 소프트맥스로 때려버리자.
뉴럴넷에서 연속적으로 뽑는 방법
지그재그로 계산하였음.
Convex
quadratic하게 풀면 되는데
뉴럴넷은 너무 커서
그렇게 풀 수 없다.
그냥 잘 갈 것이다 기대하면서,
그냥 ..
Conjuagate gradient descent
Natural gradient descent
minibatch의 치명적인 단점.
여전히 online까지는 아니더라도,
Outlier 때문에 붕 떠버림.
Full batch가 아니더라도,
수학적 유산들을 이용해서.
한번에 quadratic으로 얼마나칠 수 있는지에 대한
기법이 많은데,
그런 방법 중에 natural, conjuagate, newton method 등임.
Quadratic
Natural 방법의 이론적 기반
값이 기울기의 변화.
이차미분값을 미분한다.
Fischer information matrix를 구하고,
업데이트칠 파라미터 값을 한번에 구하자.
행렬 디컴포지션,
헤시안,
라그랑주 근사법 등이 나옴.
수학적 근거를 통해서 파라미터를 한번에 계산한다.
TRPO
TRPO의 전제
Policy gradient는 한번에 action을 바로 찍기 때문에
outlier에 약하다.
처음에서 저~기로 학습해버리는데, 학습이 망해버릴 수 있다.
Domain adaption
Importance sampling을 도입해온다.
학습 초기가 아니라면,
변화가 아주 크지 않을 것이다.
학습하고 났을 때, 파라미터를 바꾸는데,
KL-divergence를 이용해서
패널티 안에 넣어서, 업데이트를 치대, 이전 분포와 크게 다르지 않게
분포를 유지시켜준다.
안정적이된다.
그러나 데이터가 섹시하면, 굳이 안거쳐도 되는 길을 거치게 된다.
Policy gradient를 쓰면
망하는 경우에,
TRPO를 쓴다.
Importance sampling term 확인
과거 데이터를 현재에 맞춰주는 것.
분포를 뉴럴넷으로 학습시켜면 망함.
그래서 그냥 조건 C를 input에 추가해서.
DAN (domain adaption)
Domain adversarily하게.
이름이 Trust region
왜?
2차, quadratic를 풀기 때문에
움직일 것이다.
붕 뜨기 싫어서 KL-divergance를 줘서
위아래로 제한을 둔다.
그 제한이 Trust region.
그런데 느리다고 했다.
그것을 개선한 것이
PPO이다.
어떻게 보면
Deep q n이랑 같음
DQN
그런데 어드밴티지 함수가 너무 좋잖아.
Actor Critic 모델에 loss에, 그것을 껴놓은 것.
그런데 느리다고 했다.
그것을 개선한 것이
PPO이다.
A2C
Action - value
Policy - value
..
둘다 쓰는 것들 중에 하나가 a2c
Actor critic으로 잡아주고,
Advantage 로 넣어서 action-value, policy-value 따로 구하지 않고,
하나의 action-value 을 구한다.

More Related Content

Similar to Multi armed bandit

Guided policy search
Guided policy searchGuided policy search
Guided policy searchJaehyeon Park
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!Dongmin Lee
 
Chapter 15 Representation learning - 1
Chapter 15 Representation learning - 1Chapter 15 Representation learning - 1
Chapter 15 Representation learning - 1KyeongUkJang
 
00_ML 기초_기본개념
00_ML 기초_기본개념00_ML 기초_기본개념
00_ML 기초_기본개념AHRA CHO
 
데이터분석의 길 4: “고수는 통계학습의 달인이다”
데이터분석의 길 4:  “고수는 통계학습의 달인이다”데이터분석의 길 4:  “고수는 통계학습의 달인이다”
데이터분석의 길 4: “고수는 통계학습의 달인이다”Jaimie Kwon (권재명)
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거도형 임
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsseungwoo kim
 
Nationality recognition
Nationality recognitionNationality recognition
Nationality recognition준영 박
 
Rl from scratch part4
Rl from scratch part4Rl from scratch part4
Rl from scratch part4Shinwoo Park
 
Reinforcement learning
Reinforcement learningReinforcement learning
Reinforcement learningTae Young Lee
 
자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기라한사 아
 
Code.org평가유형 기초자료
Code.org평가유형 기초자료Code.org평가유형 기초자료
Code.org평가유형 기초자료YoungSik Jeong
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝찬웅 주
 
Causal Inference : Primer (2019-06-01 잔디콘)
Causal Inference : Primer (2019-06-01 잔디콘)Causal Inference : Primer (2019-06-01 잔디콘)
Causal Inference : Primer (2019-06-01 잔디콘)Minho Lee
 
파이썬 라이브러리로 쉽게 시작하는 데이터 분석
파이썬 라이브러리로 쉽게 시작하는 데이터 분석파이썬 라이브러리로 쉽게 시작하는 데이터 분석
파이썬 라이브러리로 쉽게 시작하는 데이터 분석Heekyung Yoon
 
Chapter 17 monte carlo methods
Chapter 17 monte carlo methodsChapter 17 monte carlo methods
Chapter 17 monte carlo methodsKyeongUkJang
 
한눈에 보는 머신러닝
한눈에 보는 머신러닝한눈에 보는 머신러닝
한눈에 보는 머신러닝주경 이
 
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)Haezoom Inc.
 

Similar to Multi armed bandit (18)

Guided policy search
Guided policy searchGuided policy search
Guided policy search
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!
 
Chapter 15 Representation learning - 1
Chapter 15 Representation learning - 1Chapter 15 Representation learning - 1
Chapter 15 Representation learning - 1
 
00_ML 기초_기본개념
00_ML 기초_기본개념00_ML 기초_기본개념
00_ML 기초_기본개념
 
데이터분석의 길 4: “고수는 통계학습의 달인이다”
데이터분석의 길 4:  “고수는 통계학습의 달인이다”데이터분석의 길 4:  “고수는 통계학습의 달인이다”
데이터분석의 길 4: “고수는 통계학습의 달인이다”
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendations
 
Nationality recognition
Nationality recognitionNationality recognition
Nationality recognition
 
Rl from scratch part4
Rl from scratch part4Rl from scratch part4
Rl from scratch part4
 
Reinforcement learning
Reinforcement learningReinforcement learning
Reinforcement learning
 
자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기
 
Code.org평가유형 기초자료
Code.org평가유형 기초자료Code.org평가유형 기초자료
Code.org평가유형 기초자료
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
 
Causal Inference : Primer (2019-06-01 잔디콘)
Causal Inference : Primer (2019-06-01 잔디콘)Causal Inference : Primer (2019-06-01 잔디콘)
Causal Inference : Primer (2019-06-01 잔디콘)
 
파이썬 라이브러리로 쉽게 시작하는 데이터 분석
파이썬 라이브러리로 쉽게 시작하는 데이터 분석파이썬 라이브러리로 쉽게 시작하는 데이터 분석
파이썬 라이브러리로 쉽게 시작하는 데이터 분석
 
Chapter 17 monte carlo methods
Chapter 17 monte carlo methodsChapter 17 monte carlo methods
Chapter 17 monte carlo methods
 
한눈에 보는 머신러닝
한눈에 보는 머신러닝한눈에 보는 머신러닝
한눈에 보는 머신러닝
 
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
 

More from 민석 김

off-policy methods with approximation
off-policy methods with approximationoff-policy methods with approximation
off-policy methods with approximation민석 김
 
Kanerva machine
Kanerva machineKanerva machine
Kanerva machine민석 김
 
Shouting at gwanghwamun
Shouting at gwanghwamunShouting at gwanghwamun
Shouting at gwanghwamun민석 김
 
ML 60'~80' new paradigm 1
ML 60'~80' new paradigm 1ML 60'~80' new paradigm 1
ML 60'~80' new paradigm 1민석 김
 
Internet speed 인터넷 속도를 측정해보자
Internet speed 인터넷 속도를 측정해보자Internet speed 인터넷 속도를 측정해보자
Internet speed 인터넷 속도를 측정해보자민석 김
 
벽 생성기 Wall generator
벽 생성기 Wall generator 벽 생성기 Wall generator
벽 생성기 Wall generator 민석 김
 
복소수와 오일러 공식
복소수와 오일러 공식복소수와 오일러 공식
복소수와 오일러 공식민석 김
 
Bayesian nets 발표 3
Bayesian nets 발표 3Bayesian nets 발표 3
Bayesian nets 발표 3민석 김
 
Bayesian nets 발표 1
Bayesian nets 발표 1Bayesian nets 발표 1
Bayesian nets 발표 1민석 김
 
Bayesian nets 발표 2
Bayesian nets 발표 2Bayesian nets 발표 2
Bayesian nets 발표 2민석 김
 
AI 인공지능이란 단어 읽기
AI 인공지능이란 단어 읽기AI 인공지능이란 단어 읽기
AI 인공지능이란 단어 읽기민석 김
 
Hopfield network 처음부터 공부해보기
Hopfield network 처음부터 공부해보기Hopfield network 처음부터 공부해보기
Hopfield network 처음부터 공부해보기민석 김
 
VAE 처음부터 알아보기
VAE 처음부터 알아보기VAE 처음부터 알아보기
VAE 처음부터 알아보기민석 김
 

More from 민석 김 (15)

pt
ptpt
pt
 
off-policy methods with approximation
off-policy methods with approximationoff-policy methods with approximation
off-policy methods with approximation
 
NN and PDF
NN and PDFNN and PDF
NN and PDF
 
Kanerva machine
Kanerva machineKanerva machine
Kanerva machine
 
Shouting at gwanghwamun
Shouting at gwanghwamunShouting at gwanghwamun
Shouting at gwanghwamun
 
ML 60'~80' new paradigm 1
ML 60'~80' new paradigm 1ML 60'~80' new paradigm 1
ML 60'~80' new paradigm 1
 
Internet speed 인터넷 속도를 측정해보자
Internet speed 인터넷 속도를 측정해보자Internet speed 인터넷 속도를 측정해보자
Internet speed 인터넷 속도를 측정해보자
 
벽 생성기 Wall generator
벽 생성기 Wall generator 벽 생성기 Wall generator
벽 생성기 Wall generator
 
복소수와 오일러 공식
복소수와 오일러 공식복소수와 오일러 공식
복소수와 오일러 공식
 
Bayesian nets 발표 3
Bayesian nets 발표 3Bayesian nets 발표 3
Bayesian nets 발표 3
 
Bayesian nets 발표 1
Bayesian nets 발표 1Bayesian nets 발표 1
Bayesian nets 발표 1
 
Bayesian nets 발표 2
Bayesian nets 발표 2Bayesian nets 발표 2
Bayesian nets 발표 2
 
AI 인공지능이란 단어 읽기
AI 인공지능이란 단어 읽기AI 인공지능이란 단어 읽기
AI 인공지능이란 단어 읽기
 
Hopfield network 처음부터 공부해보기
Hopfield network 처음부터 공부해보기Hopfield network 처음부터 공부해보기
Hopfield network 처음부터 공부해보기
 
VAE 처음부터 알아보기
VAE 처음부터 알아보기VAE 처음부터 알아보기
VAE 처음부터 알아보기
 

Recently uploaded

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 

Recently uploaded (8)

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 

Multi armed bandit

  • 1. Multi-armed bandit Multi-armed banditd을 이해하는 것, Sutton 교수님, silver 교수님 책 2장에 나오는데 아무도 안봄. 예를 이해 못하면 강화학습을 이해 못함. 예를 이해하면 언제 써먹는지 알 수 있다. 비지니스 어플리케이션에서 실제 성과를 거두고 있는 알고리즘
  • 2. 어느 것을 해야 할지 모른다. 그리고 어땠을 때의 경험이 적다. 최고의 선택을 하고 싶다. 예전에 했던 것, bayesian, … RL https://brunch.co.kr/@chris-song/62
  • 3.
  • 4. A B C Reward 50 100 200 어떻게 하나? 해봐야지. 그냥 해봐야지. 오른쪽이 제일 크다는 것을 알게 됐다! 오케이 끝.
  • 5.
  • 6.
  • 7. A B C Reward 50 100 200 비용이 생긴다면, 그래서 할 수 있는 횟수의 제한이 있따면, 해보고, 가운데가 많이 나오면 가운데에 몰아서 해보자. Greedy
 제일 좋은 놈만 쫓아가면 제일 좋을거야
  • 8. A B C Reward 50 100 200 자이제 확률 껴서 수학적으로 정리해보자. 조건부 확률 R(A|S), 조건부 확률, 조건부 확률 e-greedy (epsilon) 혹시나 잘못 됐을까바 확인해보는 것.
  • 9. A B C Reward 50 100 200 자이제 확률 껴서 수학적으로 정리해보자. 조건부 확률 R(A|S), 조건부 확률, 조건부 확률 그런데 이것을 랜덤으로 고르는데, 그것이 찝찝함. 내가 잘 줄 것 같은 것을 생각해서 고르면 좋을텐데, 걍 랜덤으로 하면 찝찝함. 좀 더 확실히 골고루 뽑히게, 1000의 한정이 아니라, Reward 막 얻는데, 1000원 준 놈이 찝찝하다. 확률이 아니라, 수식으로 뽑고 싶었다. 좀 더 확실해지고 싶다. 시간이 많이 가면 logt, 높은 게 좋은 것. 시간이 적으면, N_t(a) 그 영향이 줄인다. 그것이 UCB
  • 10. 그러면 그 다음 톰슨 샘플링. 베타 분포도 나오고, 배너1, 배너2, 배너3 새로 만들었다. 어느 배너가 제일 인기가 좋을까? 경험이 없어서 알 수 없음. 걍 내가 골라? 찍어? 분석이 필요해. 타겟 마케팅 해야 한다. 우선 랜덤으로 돌려본다. 배너 1,2,3 눌렀느냐 안눌렀느냐. 그게 쌓인다. {(1,3,1,2,3,1,..)} 이게 에피소드가 됨. https://brunch.co.kr/@chris-song/66 딥러닝이 아니었을 때, 분포를 만든다는 개념. 선택했을 때의 분포.
  • 11. 베타분포로 모델 하는 이유가 있다. 배너1 노출후 클릭, 배너2 노출 후 클릭안 함, 배너 3 노출안함 리워드가 결정된다.
  • 12. 초록에서 한번, 빨강에서 한번, 파랑에서 한반 뽑는다. 파랑이 제일 크다. 파랑에서 나간다. 이런 식으로. 만들어진(혹은 만들어지고 있는) 분포를 활용한다.
  • 13. 나중에 학습이 잘되면 이렇게 됨. 파랑이 꼭 0.2가 안나오진다고는 할 수 없음. 이것이 톰슨 샘플링 하는 것.
  • 14. 그런데, 이것이 실제 쓰면, 분포가 binary하지 않고, multi variable하고, conditional. 수렴하는 분포를 만들기가 어려움. 그래서 딥러닝을 이용. 그런데, 문제는 경험이 없는 경우, Cold start 하는 경우! 결국 reinforcement가 필요함. 톰슨 샘플링을 reinforcement learning을 탑재해서 업그레이드 함. 나의 생각 : 결국, 데이터의 해상도가 raw하게 다룰 수 없는 수많은 환경에 대해, 톰슨 샘플링등의 확률통계적 방법을.. 그 후에 아예 더 인과율을 구조화해서 강화학습을 ..
  • 15. 멀티암 밴딧 -> 톰슨 샘플링 -> RNN CNN -> Reinforcement 서비스 관점. Cold start Raw data 기초 추상적 데이터 분포접근
  • 16. alex.net - vgg - inception.net - dense.net - u.net cnn 이렇게 성능이 좋아지는 역사순으로 배우는데, RL은 맨뒤에 거 고르는게 아니다. 하려는 도메인에 맞는 것에 맞게 해야 한다. 하나가 장점이면 하나가 단점이다. 데이터가 정확하고, 명확하고 그러면, 그냥 policy gradient 로 건너 뛰는 것이 가장 빠르고 정확하다.
  • 17. Action value function 을 배웠다. value - 생각한 것이 맞는지 틀렸는지. Policy - 그리고서 이것. 뉴럴넷 2개. policy-value funciton Value 를 구하고나서 policy 를 구성하기 때문에. policy가 망가질 확률이 적다. Action-value 한방에 내려 꽂으면 망한다. 한번에 한뉴럴넷에서 구하니까.
  • 18. J는 Jacobian 행렬 궁극적으로 하이퍼 파라미터를 업데이트 해야 한다. 미분한다. 변수 많아서 편미분한다. 그래서 Jacobian 편미분값을 벡터화 시키는 것. 이것으로 학습한다. H를 얘기하면 크로스 엔트로피일 수도 있지만, Hessian 행렬일 수도 있다. 이차 미분. 극대, 극소를 알기 위해서. 그라디언트 디센트가 아니라, 정답지를 한번에 아는 뉴턴 메소드 같은 것을 쓸 때. 활용함.
  • 19. Function approximaetion을 뉴럴넷으로 했기 때문에 업데이트되는 policy는 . 그냥 세타 파라미터에 녹아든다. 그런데 r을 reward는 -3만큼 간다를 알려주는 녀석인데, 걔를 어떻게 알지? 사실 뉴럴넷이면 그냥 둘다 뱉어버리면 된다.. 정석대로 하자. reward를 정의해야 한다.
  • 20. 그래서 reward를 action-value function 을 가져와서 붙이자. 또 하나의 뉴럴넷. (그러면 루프는 적어지긴 했지만,) 가중평균은 smooth하게 수렴할 수 있다. 리워드가 중구낭반으로 튀면 학습이 안된다. 그러면 우리는 평균에서 얼마나 수렴하는지 보자. 평균에서 얼마나 리워드가 움직이는지 보자. 그래서 나온게 baseline. 그런데 그러면 그 기준을 어떻게 잡느냐? 그것도 뉴럴넷을 만든다. Advantage function.. 이렇게 뉴럴넷이 여러개 되면 안정적이지만, 빡세다. 이렇게 하는 기준은 만약에 이상적으로 뉴럴넷이 잘 학습이 됐다고 하면, action-value나, state-value나 차이가 없기 때문에, reward를 advantage로 바꾼다. Policy gradient using the advantage function . 그것이. advantage
  • 21. 왜 여기서 토우 트래잭토리, 에피소드 이산 : State, action, episode [s v r a]
 연속 : obsevation, X, trajectories [o x r j] 이산 용어 연속 용어
  • 22. 그런데 조심해야 할 것이 있따. advantage를 구할 때, 앞에 텀들은 베이스라인은 막 움직이면 안됨. 바로 업데이트 치는 텀을 안쓰고, 행위했을 때 받은 리워드의 평균치로 baseline을 만들겠다. 그래서 baseline을 얻을 떄는 평균을 뽑을 수 잇는 모델을 사용함. Baseline
  • 23. Policy gradient policy를 한번에 뽑는다. action은 뉴럴넷에서 . 어떻게 연속적으로 뽑느냐? 분포 모델링. 평균과 분산을 알려준다. 시그모이드-소프트맥스 쓰면 큰일 남. 그런데 뉴럴넷에 전부 이렇게 .. 확률적으로 접근하나. 맨 뒤땅에 그냥 그래서 회귀를 붙인다. 선형근사를 한번에 붙여버린다. 이산은 그냥 소프트맥스로 때려버리자. 뉴럴넷에서 연속적으로 뽑는 방법
  • 24. 지그재그로 계산하였음. Convex quadratic하게 풀면 되는데 뉴럴넷은 너무 커서 그렇게 풀 수 없다. 그냥 잘 갈 것이다 기대하면서, 그냥 .. Conjuagate gradient descent Natural gradient descent minibatch의 치명적인 단점. 여전히 online까지는 아니더라도, Outlier 때문에 붕 떠버림. Full batch가 아니더라도, 수학적 유산들을 이용해서. 한번에 quadratic으로 얼마나칠 수 있는지에 대한 기법이 많은데, 그런 방법 중에 natural, conjuagate, newton method 등임. Quadratic
  • 25. Natural 방법의 이론적 기반 값이 기울기의 변화. 이차미분값을 미분한다. Fischer information matrix를 구하고, 업데이트칠 파라미터 값을 한번에 구하자. 행렬 디컴포지션, 헤시안, 라그랑주 근사법 등이 나옴. 수학적 근거를 통해서 파라미터를 한번에 계산한다.
  • 26. TRPO TRPO의 전제 Policy gradient는 한번에 action을 바로 찍기 때문에 outlier에 약하다. 처음에서 저~기로 학습해버리는데, 학습이 망해버릴 수 있다. Domain adaption Importance sampling을 도입해온다. 학습 초기가 아니라면, 변화가 아주 크지 않을 것이다. 학습하고 났을 때, 파라미터를 바꾸는데, KL-divergence를 이용해서 패널티 안에 넣어서, 업데이트를 치대, 이전 분포와 크게 다르지 않게 분포를 유지시켜준다. 안정적이된다. 그러나 데이터가 섹시하면, 굳이 안거쳐도 되는 길을 거치게 된다. Policy gradient를 쓰면 망하는 경우에, TRPO를 쓴다. Importance sampling term 확인 과거 데이터를 현재에 맞춰주는 것. 분포를 뉴럴넷으로 학습시켜면 망함. 그래서 그냥 조건 C를 input에 추가해서. DAN (domain adaption) Domain adversarily하게.
  • 27. 이름이 Trust region 왜? 2차, quadratic를 풀기 때문에 움직일 것이다. 붕 뜨기 싫어서 KL-divergance를 줘서 위아래로 제한을 둔다. 그 제한이 Trust region. 그런데 느리다고 했다. 그것을 개선한 것이 PPO이다.
  • 28. 어떻게 보면 Deep q n이랑 같음 DQN 그런데 어드밴티지 함수가 너무 좋잖아. Actor Critic 모델에 loss에, 그것을 껴놓은 것. 그런데 느리다고 했다. 그것을 개선한 것이 PPO이다. A2C Action - value Policy - value .. 둘다 쓰는 것들 중에 하나가 a2c Actor critic으로 잡아주고, Advantage 로 넣어서 action-value, policy-value 따로 구하지 않고, 하나의 action-value 을 구한다.