본문 바로가기

딥러닝/머신러닝(ML)

블랙박스 모델 설명 (XAI) Introduction 딥러닝 모델은 의심의 여지가 없이 많은 도메인에서 높은 성능을 보여줍니다. 많은 데이터로부터 학습을 진행하면서 예측을 하게 되며, 사용자는 모델에 인풋으로 넣는 데이터와 결과인 아웃풋만 알 수 있습니다. 수많은 파라미터로 이루어진 복잡한 내부에 대해서는 알지 못하며, 또한 예측값은 보통 스칼라이며, 해당 값이 나온 이유에 대해서도 알려주지 않습니다. 이러한 블랙박스적인 특성은 모델을 사용하며 이를 신뢰할 수 있는가에 대한 이슈와 직접적으로 관련되어 있기에 해결해야 하는 중요한 문제입니다. 모델에 대한 설명성의 필요성으로부터 예측 모델에 대한 설명을 위한 연구들이 다방면으로 진행되었고, Klaus-Robert Muller 의 CVPR 2018 년도에 tutorial로 몇가지 카테고.. 더보기
# Markov Decision Process에 관하여 / + Markov Chain Markov Decision Process에 관하여 인생은 B와 D 사이에 C라는 말이 있다. Birth 와 Death 사이의 Choice를 하는 것처럼 현재 상태에서 선택을 하는 것은 아주 중요하며, 이를 모델링 하는 것이 Markov Decision Process (마르코브 의사 결정)이다. 먼저 용어에서 두려움을 느끼는 사람들(나를 포함해서) 을 위해서 의미를 조급 쉽게 생각해보겠다. Markov : 다음 미래를 고려할 때, 과거는 싹다 잊고 현재만 생각하라는 Markov Property에서 왔다. 이게 없다면 의사 결정 시, 과거의 기록까지 전부 들춰봐야 한다. 마르코프라는 무서운 이름과는 다르게 아주 착한 일을 해준다. Decision: 위에서 말한 현재 상태에서 선택을 결정하는 것이다. MDP.. 더보기
시그마 - Algegra 란 무엇인가 시그마 - Algegra 란 무엇인가 특정 집합 $X$가 주어졌을 때, 이 집합의 원소들로 이루어진 부분 집합(subset) 을 고려할 수 있습니다. 예를 들어서 $X= \{ 1,2,3\}$이라면, $\{ 1\}$ 이나 $\{1,2\}$ 가 예시가 될 수 있겠습니다. 그리고 이러한 부분집합들을 모아놓은 Collection 을 생각할 수 있는데, 예를 들어서 $\{\{ 1,2\}, \{1\} \}$ 이나 $\{\{ 1,2\}, \{1,2,3\} \}$ 을 생각할 수 있습니다. 아무렇게나 subset들을 모아놓을 수 있지만, 특정 조건을 만족하게 된다면 해당 Collection을 $\sigma$-algebra라고 합니다. 굳이 algebra라고 이름을 붙이는 이유는 해당 집합의 원소들에 대해서 연산이 가능하.. 더보기
[Remark] Implicit Neural Representations with Periodic Activation Functions이 잘되는 이유 [Remark] Implicit Neural Representations with Periodic Activation Functions 이 잘되는 이유 Implicit Neural Representation 은 데이터에 대한 좌표나 위치를 입력으로 받아서 해당 점의 값을 반환하는 함수를 학습시키는 딥러닝 기법 중 입니다. 이미지나 영상과 같은 시그널 프로세싱에 많이 쓰이며, 신경망에 데이터에 대한 정보를 압축하고 더 나은 표현방법을 학습시켜 데이터의 크기를 줄일 수도 있고, 더 좋은 퀄리티로 복원하는데 사용됩니다. ReLU position encoding과 같이 데이터의 좌표에 시그널 값을 주는 방법이나, Sine activation을 사용하는 방법이 주로 사용됩니다. 이 포스팅에서는 Sine activ.. 더보기
[Remark] All the probability metrics we need. All the probability metrics we need This post explains the probability metrics, including only the essential parts of the them. Kullback-Leiber Total variation Kolmogorov-Smirnov Wasserstein Maximum mean discrepancy Kullback-Leiber Consider two probability distributions $P$ and $Q$. The Kullback-Leiber Distance is defined by $$\begin{aligned}KL(P||Q) &= \sum_x P(x) \log \frac{P(x)}{Q(x)} \\ KL(P.. 더보기
[Remark] Support Vector Machine 이해하기 [Remark] Support Vector Machine 이해하기 Support Vector Machine (SVM)은 Machine Learning의 분류기 중에 한 종류이다. Margine을 최대화하는 방향으로 학습한다는 말을 자주 사용하는데, 이번 포스팅에서는 Margine을 최대화하는 것의 의미를 짚어보고자 한다. 해당 글은 ratsgo blog 와 wikipedia를 참고하여 작성하였습니다. 1. 문제를 풀기 전, 주어진 상황 $(x_1, y_1), \cdots, (x_n, y_n) $ 점들이 있다. $y\in \{ -1, 1 \}$ 레이블이다. * 여기서, -1, +1 으로 레이블을 고정하는 것은 나중에 최적화 문제를 푸는데 도움을 주기 때문입니다. 2. SVM의 목표 $w * x -b $ 값.. 더보기
[StyleGAN] 이해하기 StyleGAN을 이해하기 위해서 StyleGAN을 4부분으로 나눠서 이해하겠습니다. 1. Mapping Network Part 2. Constant Input 3. Adaptive Instant Normalization 4. Noise 1. Mapping Function 목적: Random한 Latent Variable을 Encoding함으로써 랜덤한 스타일을 나타낸다. 2. Constant Input 목적: Synthesis Network의 시작점으로 항상 Constant Input을 넣는다. (학습을 통해 업데이트가 된다) 3. Adaptive Instant Normalization 목적: 스타일에 대한 정보로 Feature를 다시 Scaling 한다. 4. Noise 목적: Synthesis Ne.. 더보기
Overfitting을 해결하는 방법 3가지 머신러닝은 학습 데이터로부터 배우고 테스트 데이터에 대해서 예측하는 것을 목표로 합니다. Overfitting은 학습 데이터의 성능은 높지만, 테스트 데이터에 대해서 성능이 나오지 않는 경우를 말합니다. Overfitting을 해결하는 방법은 대표적으로 3가지가 있습니다. 데이터의 수를 늘린다. 모델의 Complexity를 줄인다. Regularization을 사용한다. 편의상 모델의 파라미터에 대한 복잡도를 M, 데이터에 대한 복잡도를 D라고 하겠습니다. Overfitting은 M>D 인 경우에, 학습이 경과됨에 따라서 학습데이터를 모두 학습한 상태를 말합니다. (모델의 복잡도가 충분하므로 데이터를 모두 학습할 수 있습니다.) 문제는 완료된 학습이 데이터에 대한 패턴을 배우는 것이 아니라 데이터를 기억.. 더보기