본문 바로가기

Machine Learning/Deep Learning10

Manifold와 뉴럴 네트워크 학습 뉴럴 네트워크에서 Manifold가 어떤 연관이 있는지 찾아보면서 이해한 부분에 대해 정리해본다.(여러 정보들을 살펴보며 나의 이해를 기준으로 정리하였기 때문에 잘못된 내용이 들어가있을 수도 있으니 너무 믿지는 말것)Manifold매니폴드 가설(manifold hypothesis)은 고차원의 데이터가 사실은 더 낮은 차원의 구조인 매니폴드(manifold) 위에 있다고 주장하는 가설이다.딥러닝 모델은 학습을 통해 주어진 데이터에 대한 잠재 매니폴드(latent manifold)를 학습하여 데이터의 본질적인 특성을 이해할 수 있게된다. (manifold learning) 매니폴드를 설명할 때 가장 많이 나오는 스위스 롤 형태의 데이터를 예로 설명하면,3차원으로 복잡하게 표현되어있는 데이터가 아래와 같이 2.. 2024. 5. 20.
Non zero-centered activation function과 학습 비효율 CS231n 강의에서 나온 Sigmoid의 non zero-centered한 성질로 인한 학습 비효율에 대해 정확하게 이해하기 위해 정리한다.  Sigmoid function의 특징으로는 non zero-centered 라는 점이고, 출력이 항상 양수로 나온다는 점이다. Sigmoid function을 activation function으로 사용했을 때, 학습에 어떤 영향을 끼칠까? 다음과 같은 단순한 형태의 네트워크가 있다고 하자.그리고 위 그림 1에서 색칠한 영역을 자세히 살펴보면 아래와 같다.입력 $x_{1}과 x_{2}$는 앞 layer의 Sigmoid 출력이기 때문에 항상 양의 값을 갖게된다. 그리고 경사 하강을 이용한 weight의 update 수식은 아래와 같다.$$ W \leftarr.. 2024. 5. 1.
ReLU의 활성 함수으로써의 사용과 미분 가능성 ReLU는 여러 딥러닝 모델에서 activation function으로써 쓰이고 있다. (ReLU에서 생기는 문제를 해결하기 위한 다양한 variation들이 있긴 하지만) $$ ReLU(x) = max(0, x) $$ 더보기 import numpy as np import matplotlib.pyplot as plt x = np.linspace(-5, 5, 100) y = np.maximum(0, x) plt.plot(x, y) plt.grid(True) plt.xlabel("x") plt.ylabel("ReLU(x)") 딥러닝에서는 모델 훈련 시 Gradient descent를 통해 Loss를 최소화하는 파라미터를 계산하는데, Gradient descent를 위해서는 미분값을 필요로 한다. 하지만 ac.. 2024. 4. 23.
Perceptron perceptron은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 아래는 2개의 입력을 받는 perceptron이다. $ x $ : 입력 $ w $ : 가중치(weight)로 말 그대로 해당 입력이 얼마나 중요한지를 나타낸 값이다. 이 값이 크면 출력에 영향을 더 크게 미친다. $ b $ : 편향(bias)으로 해당 뉴런이 얼마나 쉽게 활성화될 수 있느냐를 조절하는 값이다. 이 값이 크면 입력이 작더라도 활성화될 수 있다. $ y $ : 출력 출력의 경우 노드에 전달된 값의 합이 0을 넘을 때 1을 출력하며, 0을 넘지 않으면 0을 출력한다. 그러면 이 임계값에 대해서는 아래와 같이 나타낼 수 있다. $ y = \begin{cases} 0 & \text{if } w_1x_1 + w_2x_2 +.. 2024. 3. 3.