본문 바로가기

ML & DL75

[선형대수] 특잇값 분해와 유사역행렬 References Deep Learning Book(https://www.deeplearningbook.org/) Contents 특잇값 분해 (singular value decomposition, SVD) 유사역행렬 (pseudoinverse) 특잇값 분해 [선형대수] 고윳값 분해 이전 포스팅에서 행렬을 고유벡터와 고윳값들로 분해하는 방법을 살펴봤습니다. 이와 다른 방식의 행렬 분해인 특잇값 분해(singular value decomposition, SVD)는 행렬을 특이벡터(singular vector)들과 특잇값(singular value)들로 분해합니다. 따라서 얻을 수 있는 정보는 고윳값 분해와 동일하지만, SVD는 좀 더 일반적인 행렬들에 적용이 가능하다는 장점이 있습니다. 모든 실수 행렬에.. 2022. 5. 14.
[선형대수] 고윳값 분해 References Deep Learning Book(https://www.deeplearningbook.org/) 프리드버그 선형대수학 Contents 대각행렬 (diagonal matrix, 대각선 행렬) 직교행렬 (orthogonal matrix) 고윳값 분해 (eigendecomposition) 대각행렬 대각행렬(diagonal matrix)는 0이 아닌 성분들이 주대각(main diagonal)에만 있고, 나머지 성분들은 모두 0인 행렬입니다. 이를 공식화하여 표현하면, 행렬 \(\boldsymbol{D}\)가 모든 \(i \neq j\)에 대해 \(D_{i, j} = 0\)일 때 행렬 \(\boldsymbol{D}\)를 대각행렬이라고 합니다. 이미 알고 있는 대각행렬이 있을텐데, 주대각 성분들.. 2022. 5. 13.
[선형대수] Norm (노름) References Deep Learning Book(https://www.deeplearningbook.org/) Contents \(L^1, L^2\) Norm Frobenius Norm Norm 벡터의 크기를 측정해야 할 때가 종종 있습니다. 일반적으로 머신러닝에서 벡터의 크기는 노름(norm)이라고 부르는 함수를 이용하여 측정합니다. \(L^p\)로 표기하는 노름의 정의는 다음과 같습니다. \[\left \| \boldsymbol{x} \right \|_p = (\sum_{i} |x_i|^p)^{\frac{1}{p}}\] 여기서 \(p \in \mathbb{R}, p \geq 1\)입니다. 일반적으로 노름은 벡터를 음이 아닌 값으로 사상(mapping)하는 함수입니다. 직관적으로 살펴보면, 벡터 .. 2022. 5. 13.
[선형대수] 일차종속과 생성공간 References Deep Learning (https://www.deeplearningbook.org/) Contents Linear Dependence Span \[\boldsymbol{Ax = b}\] \(\boldsymbol{A}^{-1}\)이 존재하려면, 모든 \(\boldsymbol{b}\)에 대해 위의 식에 정확히 하나의 해가 존재해야 합니다. 일부 \(\boldsymbol{b}\) 값에 대해서는 해가 하나도 없거나 무한히 많아도 역행렬이 존재할 수는 있습니다. 그러나 특정 \(\boldsymbol{b}\)에 대해 해의 개수가 2개 이상, 혹은 무한대 미만인 경우가 있어서는 안됩니다. \(\boldsymbol{x}\)와 \(\boldsymbol{y}\)가 둘 다 유효한 해라고 할 때, 임의.. 2022. 5. 12.
AutoEncoder (3) : AE, DAE - Reference Slide : https://www.slideshare.net/NaverEngineering/ss-96581209 강의(youtube) : (1/3) https://www.youtube.com/watch?v=o_peo6U7IRM&ab_channel=naverd2 (2/3) https://www.youtube.com/watch?v=rNh2CrTFpm4&ab_channel=naverd2 (3/3) https://www.youtube.com/watch?v=LeVkjCuUdRs&ab_channel=naverd2 Naver 이활석님의 'AutoEncoder의 모든 것'이라는 강의를 바탕으로 학습하여, 개인적으로 정리하였습니다. 이번 글에서 드디어 AutoEncoder(AE)에 대해서 알아보도.. 2021. 2. 15.
AutoEncoder (2) : Manifold Learning - Reference Slide : https://www.slideshare.net/NaverEngineering/ss-96581209 강의(youtube) : (1/3) https://www.youtube.com/watch?v=o_peo6U7IRM&ab_channel=naverd2 (2/3) https://www.youtube.com/watch?v=rNh2CrTFpm4&ab_channel=naverd2 (3/3) https://www.youtube.com/watch?v=LeVkjCuUdRs&ab_channel=naverd2 Naver 이활석님의 'AutoEncoder의 모든 것'이라는 강의를 바탕으로 학습하여, 개인적으로 정리하였습니다. Manifold Learning 오토인코더의 가장 중요한 기능 중.. 2021. 2. 10.
AutoEncoder (1) : Maximum likelihood 관점에서의 해석 - Reference Slide : https://www.slideshare.net/NaverEngineering/ss-96581209 강의(youtube) : (1/3) https://www.youtube.com/watch?v=o_peo6U7IRM&ab_channel=naverd2 (2/3) https://www.youtube.com/watch?v=rNh2CrTFpm4&ab_channel=naverd2 (3/3) https://www.youtube.com/watch?v=LeVkjCuUdRs&ab_channel=naverd2 Naver 이활석님의 'AutoEncoder의 모든 것'이라는 강의를 바탕으로 학습하고 정리하였습니다. AutoEncoder 위키피디아에서 오토인코더를 검색하면 아래의 결과를 볼 수.. 2021. 2. 9.
Saliency Map (tensorflow v2.4.0) 2021/01/18 - [ML & DL/tensorflow] - Class Activation Map(CAM) Class Activation Map(CAM) (tensorflow v2.4.0) 오래전부터 CNN Model을 해석하기 위한 방법을 찾아왔습니다. 이전에는 주로 filter들을 시각화하거나 filter가 최대로 활성화하는 입력을 찾는 등의 filter 단위의 해석이 많았고, 실제 junstar92.tistory.com CAM에서는 CNN 구조의 탑에 Global Average Pooling(GAP) layer를 두고, Dense layer를 쌓아서 Dense layer의 가중치와 마지막 Conv layer의 feature map을 통해서 모델이 이미지의 어떤.. 2021. 1. 18.
Class Activation Map(CAM) (tensorflow v2.4.0) 오래전부터 CNN Model을 해석하기 위한 방법을 찾아왔습니다. 이전에는 주로 filter들을 시각화하거나 filter가 최대로 활성화하는 입력을 찾는 등의 filter 단위의 해석이 많았고, 실제 모델이 이미지의 어떤 부분을 보고 예측하는지는 알 수 없었습니다. 하지만, Class Activation Map(CAM, paper)을 사용하면서 모델이 이미지의 어떤 부분을 보고 판단을 내리는지 어느 정도 알아낼 수 있습니다. 바로 아래처럼 말이죠. Class Activation Map은 다음과 같이 구할 수 있습니다. 기본적인 Conv layer - Pooling layer의 구조를 쌓고 Feature들을 추출합니다. 그리고 CNN 구조 마지막에 Feature map을.. 2021. 1. 18.
[tensorflow] UNet (Oxford-IIIT Pet segmentation) (tensorflow v2.4.0) 2021/01/16 - [ML & DL/tensorflow] - [tensorflow] Fully Convolutional Networks(FCNs) [tensorflow] Fully Convolutional Networks(FCNs) (tensorflow v2.4.0) Fully Convolutional Network(FCN)를 사용해서 Image Segmentation을 수행하는 모델을 구현해보도록 하겠습니다. 먼저 FCN에 대해서 아주 간단하게 살펴보겠습니다. FCN의 자세한 내용은 논문.. junstar92.tistory.com 이번에는 Fully Convolutional network에 이어서 Image Segmentation을 목적으로 제안된 FCN을 기반으.. 2021. 1. 17.