본문 바로가기

Research/Machine Learning71

Smooth Approximation LogSumExpLogSumExp는 max()의 smooth approximation이다.그 이유는 exp를 취하게 되면, 숫자가 큰 값의 영향력이 지수적으로 커지게 되는데, 이것들을 덧셈을 하게되면 숫자가 작은 값들은 영향력이 매우 줄어들게된다.그다음 log를 취해서 다시 exp의 역과정을 하게 되면, 사실상 영향력이 큰 숫자만 의미를 갖게 되므로 max함수와 유사한 기능을 하게 된다. https://en.wikipedia.org/wiki/LogSumExp Softmaxsoftmax는 argmax()의 smooth approximation이다.argmax의 결과물이 one-hot encoding으로 표현되는 상황에서 사실상 softmax의 결과물은 argmax와 같은 솔루션을 갖는다. 특히 temper.. 2020. 8. 6.
Information Bottleneck Information Bottleneck Method 한마디로, input X와 latent T의 정보량은 최소가 되면서 동시에 latent T와 target Y의 정보량은 최대가 되어야한다. https://en.wikipedia.org/wiki/Information_bottleneck_method 2020. 6. 12.
Pseudo Label 원 모델이 틀린 데이터에 대해서, pseudo-labeling할 때 class를 맞춰야만 유의미한 성능이 증가한다. 모델이 underfitting 된 상황에서만, 이러한 pseudo-labeling이 동작하는게아닐까? 데이터가 부족해서 블러리한 디시전바운더리가 있는 지점의 sharpness를 증가시켜서, 모델의 underfitting을 해결한다.음어렵다... 근데 이게 블러리한 영역에서 양쪽 방향으로 동일한 개수의 x가 생성되면...? 다만, 여기에 thresholding을 해서 좀 더 확실한 클래스에 대해서만 학습을한다면? 근데이건 애초에 블러리하지 않다는건데..게다가 overconfident문제가 있음.. 2020. 6. 12.
Probability Calibration Probability Calibrationscikit-learn 사이트에 정말 친절하고 상세하게 잘 설명되어있다.https://scikit-learn.org/stable/modules/calibration.html#calibration 아주 간단히 insight만 적자면 이러하다. 애초에 LogisticRegression처럼 모델 자체가 sigmoid 함수를 이용한 확률을 return하고, 이 확률을 NLL로 학습시키면 자연히 probability분포가 confidence와 동치가 된다. 그런데 SVM같은 모델은 output과 loss가 확률 및 NLL과 관련이 없어서, probability가 confidence를 갖지 않고, 항상 bias를 갖는 prediction 분포가 생긴다. 그래서 이러한 문제를.. 2020. 4. 17.
Bayesian Inference Machine Learning 에서 궁극적으로 추구하는 목표는 P(X'|X) 를 알아내는 것이다. (X' : 예측하고자 하는 데이터 , X : 기존에 관측된 사건의 데이터) 즉, 기존에 관측된 사건의 데이터 X를 이용해서 앞으로 일어날사건 X'에 대해 예측하는 것이다.만일, X 없이 그냥 P(X')를 계산한다는 것은 기존에 일어난 사건 데이터 전혀 고려하지 않고, 오직 수학적 모델만으로 확류를 계산하겠다는 의미이다. 이는 machine learning이라 부를 수 없고, 일반적으로 데이터 X를 고려할 때보다 훨씬 부정확한 확률 추론을 하게된다. 좀 더 직관적인 예를 들면, 두개의 박스 A와 B에서, A에는 빨간공이 99%, B에는 파란공이 99% 들어 있다고 하자. 이때 한 사람이 무작위로 두 박스중 하.. 2020. 1. 29.
Advanced Supervised Learning Advanced Supervised Learning Active LearningUnlabeled data에 대해 MC dropout을 inference를해서 confidence를 측정해서 낮은것부터 labeling한다.똑같은 방법으로 loss prediction을 해서 loss가 큰 것부터 labeling할 수도 있다. Online Service Data + Active Learning감독학습 모델의 실서비스를 하면서 계속해서 들어오는 input x에 대해, 모든 데이터를 전부 labeling할 수는 없다. 따라서 이 중에서 어떤 데이터를 labeling할 지 우선순위를 정해야하는데 이 때 active learning이 필요하다. Multi-task Learning에서 난이도에 따른 Overfitting.. 2020. 1. 28.
The Bitter Lesson 번역 The Introduction of Reinforcement Learning의 저자로 유명한 Richard Sutton의 2019년 5월 13일에 올라온 AI에 대한 글을 번역해보았다. (역자: 곽동현, 윤상웅) The Bitter Lesson 씁쓸한 교훈 70년간의 AI연구로부터 깨달을 수 있는 가장 큰 교훈은 바로 계산을 이용하는 일반적인 방법론이야말로 궁극적으로, 큰 격차를 두고도 가장 효율적이라는 것이다. 이에 대한 궁극적인 이유는 바로 무어의 법칙, 더 일반화해서는 유닛 당 계산 비용이 지수적으로, 꾸준히 감소하고 있기 때문이다. 대다수의 AI 연구는 agent가 사용가능한 계산자원이 일정하다는 조건에서 행해졌으나(이 경우 인간의 지식을 최대한 이용하는 것이 오직 유일한 성능 향상의 방법일 것이.. 2020. 1. 17.
음성인식 기초 이해하기 # 발음기호와 문자표현- phoneme: 음소, 가장 작은 소리의 단위. 쉽게 말해 영어사전의 발음기호를 생각하면 된다. - grapheme: 자소(=문자소), 가장 작은 문자의 단위. 발음기호로 표현되기 이전의 원래 문자를 의미한다. 그리고 대부분의 경우 알파벳 1개가, phoneme 1개에 대응 된다. ex) help -> h / e / l / p그러나 항상 phoneme과 1:1대응은 아니다. 예를 들어 shop 에서 sh는 2개의 알파벳이 묶어서 ʃ 으로 발음되므로, 2개의 알파벳이 1개의 grapheme에 대응 된다.ex) shop -> ʃ / ɑː / p경우에 따라서 최대 4개의 알파벳이 1개의 graphpeme에 대응 되기도 한다. ex) weight -> w / ei / t - monoph.. 2019. 12. 29.
소리 합성 사람 목소리의 주파수목소리의 fundamental frequency의 경우 남성 85~180hz, 여성 165~255Hz이다.그런데 전화통화 기술에서는 목소리의 범위를 300~3400Hz로 가정하고, 이를 voice frequency라고 한다. 그리고 목소리를 전송하는 채널은 4kHz를 쓰며 이에 따라 최소한 2배(Nyquist-Shannon의 샘플링이론에 의해)가 되는 8kHz로 샘플링을 해서 목소리를 pcm으로 변환한다. https://en.wikipedia.org/wiki/Voice_frequency#:~:text=The%20voiced%20speech%20of%20a,frequency%20band%20as%20defined%20above. Voice Synthesis에서의 두가지 큰 방법- con.. 2019. 12. 9.
물리학에 기반한 모델 # Ising Mode Ernst Ising에 의해 만들어진 모델로, 원자의 spin을 나타내는 수학적 통계 모형이다. 각각의 변수는 -1 or +1 의 값을 가지고, 일반적으로 격자 형태의 모양에 배열되어 있고, 인접한 이웃과만 서로 영향을 주고 받음 2019. 5. 15.
강화학습, Exponentially weighted average계산하기 https://gist.github.com/imcomking/b1acbb891ac4baa69f32d9eb4c221fb9 def exponentially_weighted_matrix(discount, mat_len): DisMat = np.triu(np.ones((mat_len, mat_len)) * discount, k=1) DisMat[DisMat==0] = 1 DisMat = np.cumprod(DisMat, axis=1) DisMat = np.triu(DisMat) return DisMat def exponentially_weighted_cumsum(discount, np_data): DisMat = exponentially_weighted_matrix(discount, np_data.shape[0.. 2019. 1. 22.
PID 제어 # PID Controller: 산업적으로 매우 넓게 사용되는 제어 시스템으로, 수학이나 물리학적으로 유래된 모델이기 보단, 순수히 실용적인 목적으로 만들어져서 널리 사용되고 있는 공학적인 모델이다.https://en.wikipedia.org/wiki/PID_controller#Proportional_term P, I, D 세가지 요소로 우리가 원하는 target value를 만들어내기 위해 최적의 제어 routine을 만들어낸다.예를 들어 에어컨을 틀어서 실내온도를 30도에서 20도로 만들려면 어떻게 해야할까? 너무 과하게 가동하면 자칫 온도가 18도까지 내려갈수도 있고, 너무 살살틀면 20도까지 가려면 한도끝도 없이 기다려야할 것이다.그래서 매우 빠르고 정확하게 20도를 만들어내기 위한 제어가 필요한.. 2018. 11. 13.
Belief Propagation # Belief PropagationAcyclic PGM 모델을 학습하여 MLE나 MAP를 수행하기 위한 알고리즘이다. Cyclic PGM의 경우 수렴성이 보장되지 않고, 계속 확률분포가 진동하지만, Acyclic한 경우 수렴성이 이론적으로 증명되었다고 한다.어떤 임의의 parametric PGM모델을 Acyclic하게 만들고, 이것의 파라미터를 MLE나 MAP에 대해 최적화 하기 위해 각 그래프에서의 Node가 자기와 연결된 주변 Node로 Belief Propagation을 시키고, 이것들이 모여서 1번의 학습이 이뤄진다. 이러한 Belief Propagation을 계속해서 iteration하면서 학습을 수행하게 된다. 기본개념: https://en.wikipedia.org/wiki/Belief_pr.. 2018. 1. 5.
Thompson Sampling, Multi-armed bandit, Contextual bandit # Multi-armed bandit(=K-armed bandit) 여기서 armed는 action이고, K는 action의 개수를 의미함.- Multi-armed bandit = One-state MDP one-state MDP란 것은 state가 1가지로, 항상 고정된 상태를 의미함. 즉 state가 변하지 않기 때문에 이는 곧 state를 무시한다는 말과 동일함. 한마디로 state가 없는 MDP임 # Contextual bandit(=Associative Search) Multi-armed bandit에서 한발 나아가, context를 given condition으로 받아서 문제를 확장한것임. 이때 context는 state와 다른데, 원래의 MDP에서는 Transition probability에.. 2018. 1. 5.
Natural Language Processing NLP 기초# 용어 - consonant: 자음 - vowel: 모음 - morpheme: 형태소, 뜻을 갖는 최소 단위 - syntactic: 문법적인 - semantic: 의미적인 - delexicalization: 3시15분 -> [Time]으로 바꿈# Beam search greedy 탐색 알고리즘(휴리스틱 탐색)이다. DP가 아니다. 적당히 쓸만한 solution을 구하는 것이다.# IOB format: token classification(Slot filling)에서 New York과 같든 2개의 word로 된 녀석들을 처리하기 위한 것. - New: B-city - York: I-city 이런식으로 B가 등장하고, 같은 종류의 sub-slot에 해당하는 I slot이 연속해서 나오면 하나로 .. 2017. 8. 14.
Precision Recall AveragePrecision # 컨퓨전 매트릭스 - True/False: 모델이 잘했느냐 못했느냐를 의미함. 즉 True이면 모델이 정답을 맞췄다는 의미이고, False이면 모델이 정답을 틀렸다는 의미이다. - Positive/Negative: 모델이 예측한 값이 True였나, False였나를 의미함.http://www.dataschool.io/simple-guide-to-confusion-matrix-terminology/ - TP: 모델이 1이라고 예측(P)했고, 그 예측이 맞았음(True, 정답을 맞춤) 즉, 이 경우에 실제 정답도 1임 - TN: 모델이 0이라고 예측(N)했고, 그 예측이 맞았음(True, 정답을 맞춤) 즉, 이 경우엔 실제 정답이 0임 - FP: 모델이 1이라고 예측(P)했고, 그 예측이 틀렸음(False,.. 2017. 5. 31.
Coefficient of Determination(결정계수), R^2(R square) 결정계수 = Coefficient of Determination = R^2 = R squared - Regression model의 성능을 측정하기 위해 mean value로 예측하는 단순 모델(Zero-R 모델)과 비교, 상대적으로 얼마나 성능이 나오는지를 측정한 지표. (다른 성능 지표인 RMSE나 MAE는 데이터의 scale에 따라서 값이 천차만별이기 때문에, 절대 값만 보고 바로 성능을 판단하기가 어려운데, 결정계수의 경우 상대적인 성능이기 때문에 보다 직관적으로 알 수 있다.) 결정계수(R^2) 구하는 공식 ( 보통의 경우 0 2017. 5. 22.
Decision Tree 계열 알고리즘 Random ForestRandom Forest는 feature space를 랜덤하게 쪼갠다음, 쪼개진 sub feature space를 다시 디시전 트리를 이용해 격자 형태의 decision boundary를 갖도록 분류한다. 이렇게 학습한 N개의 디시전 트리를 앙상블하여 최종 inference에 사용한다. 즉 추론할 때에는 데이터를 모든 디시전 트리에 집어넣고 클래시피케이션한 각각의 분류 결과를 majority voting(다수결) 하는 방식으로 최종 결정을 한다. 이처럼 랜덤포리스트는 앙상블기반의 분류기이므로 이론적으로, 그리고 실질적으로 오버피팅 문제를 적게 격는다.(물론 decision tree의 개수가 너무 적거나, 개별적인 decision tree의 depth가 지나치게 복잡할 경우 오버피팅.. 2017. 2. 13.
On-policy와 Off-policy, Policy Gradient, Importance Sampling # On-policy : 학습하는 policy와 행동하는 policy가 반드시 같아야만 학습이 가능한 강화학습 알고리즘. ex) Sarsa on-policy의 경우 이론상 1번이라도 학습을 해서 policy improvement를 시킨 순간, 그 policy가 했던 과거의 experience들은 모두 사용이 불가능하다. 즉 매우 데이터 효율성이 떨어진다. 한 번 exploration해서 얻은 experience를 학습하고나면 그냥은 재사용이 불가능하다.(Importance sampling등을 해야만 재사용가능 함.) # Off-policy : 학습하는 policy와 행동하는 policy가 반드시 같지 않아도 학습이 가능한 알고리즘. ex) Q-learning off-policy는 현재 학습하는 polic.. 2017. 1. 3.
옛날 인공지능 용어 / 최적화이론 관련 용어 옛날 인공지능 용어The Turk : 사람이 로봇인 척하고 체스를 두는 것. Amazon Mechanical Turk도 여기에서 나온 단어임.Automata : 어떠한 임의의 기능을 하는 로봇, 함수, 알고리즘을 의미. 매우 폭넓은 단어Learning Automata : Deterministic MDP에서의 RL알고리즘과 동치임. 구버전 RLAnticipatory System : Environment Dynamics에 대한 model을 가지고 있는 시스템. 즉 Model-based RL같은 느낌임. Cognitive Dynamic System : 인공지능 시스템의 초기 버전? 2006년에 레이더를 어떻게 지능적으로 만들지 제안하였음. ex) 레이더에 의해 포착된 비행체가 새인지 비행기인지 구분해서, 필요.. 2016. 12. 29.