본문 바로가기
반응형

Data Science/Deep Learning9

[DL] CNN (Convolutional Neural Network) 합성곱 신경망 (CNN, Convolutional Neural Network) 지금까지 본 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있었습니다. 이를 완전 연결(Fully-connected, 전결합)이라고 하며, 완전히 연결된 계층을 Affine 계층이라는 이름으로 표현했습니다. CNN에서는 새로운 ‘합성곱 계층(Conv)과 풀링 계층(Pooling)이 추가됩니다. CNN의 계층은 ‘Conv-ReLU-(Pooling)’흐름으로 연결되고 풀링 계층은 생략하기도 합니다. 출력에 가까운 층에서는 ‘Affine-ReLU’ 구성을 사용할 수 있고, 마지막 출력 계층에서는 ‘Affine-Softmax’ 조합을 그대로 사용하기도 합니다. 합성곱 계층 완전 연결 계층(Affine 계층)의 문제점과 CNN 완전 연.. 2022. 3. 29.
[DL] 배치 정규화(Batch Normalization), 가중치 감소(weight decay), 드롭아웃(Dropout) 배치 정규화 (Batch Normalization) 각 층이 활성화를 적당히 퍼뜨리도록 해봅시다. 2015년에 제안된 방법이지만 주목받고 있습니다. 주목받는 이유는 학습을 빨리 진행할 수 있음 초기값에 크게 의존하지 않음 오버 피팅을 억제 배치 정규화의 기본 아이디어는 다음과 같습니다. 각 층에서의 활성화값이 적당히 분포되도록 조정 그래서 데이터 분포를 정규화하는 ‘배치 정규화(Batch Norm) 계층’을 신경망에 삽입 학습 시 미니배치를 단위로 정규화 (이름 보면 알 수 있음) 구체적으로는 데이터 분포가 평균이 0, 분산이 1이 되도록 정규화 평균 0, 분산 1인 데이터로 변환하는 처리를 활성화 함수의 앞 혹은 뒤에 삽입함으로써 데이터 분포가 덜 치우치게 할 수 있음 또, 배치 정규화 계층마다 이 정.. 2022. 3. 17.
[DL] 신경망 학습 - 매개변수 갱신, 가중치의 초기값 매개변수 갱신 최적화(Optimization) 신경망 학습의 목적은 손실 함수의 값을 가능한 한 낮추는 매개변수를 찾는 것 곧 매개변수의 최적 값을 찾는 문제를 푸는 것 신경망 최적화는 굉장히 어려운 문제 매개변수 공간은 매우 넓고 복잡해서 최적의 설루션을 쉽게는 못 찾음 확률적 경사 하강법(SGD) 최적화 방법 중 가장 널리 사용되는 SGD(Stochastic Gradient Descent)입니다. 매개변수의 기울기(미분)를 이용해 최적화를 시도합니다. SGD는 다음과 같은 단점이 존재합니다. SGD는 단순하고 구현도 쉽지만, 문제에 따라서는 비효율적일 때가 있습니다. 비등방성(anisotropy) 함수(방향에 따라 성질, 즉 기울기가 달라지는 함수)에서는 탐색 경로가 비효율적입니다. 이럴 때는 SGD.. 2022. 3. 17.
[DL] 오차역전파법(Backpropagation) 오차역전파법(Backpropagation) 기울기 계산을 효율적이고, 고속으로 수행하는 기법입니다. 오차역전파법을 쓰면 수치 미분을 사용할 때와 거의 같은 결과를 훨씬 빠르게 얻을 수 있다는 장점이 존재합니다. 신경망 학습은 시간이 오래 걸리니, 시간을 절약하려면 오차역전파법 사용하는 것이 좋습니다! 말 그대로 오차역전파법은 순전파의 반대로 간다고 생각하시면 됩니다. 본 글에서는 수식이 아닌 계산 그래프를 통해 오차역전파법을 설명하겠습니다. 계산 그래프(computational graph) 계산 과정을 그래프로 나타낸 것입니다. 복수의 노드(node)와 에지(edge)로 표현합니다. 노드 : 원으로 표현하고 원 안에 연산 내용 적음 에지 : 노드 사이의 직선 계산 그래프의 특징은 국소적 계산을 전파함으로.. 2022. 3. 8.
[DL] 신경망 학습 신경망 학습 학습이란 훈련 데이터로부터 가중치 매개변수의 최적 값을 자동으로 획득하는 것을 의미 데이터 주도 학습 기계학습에서는 사람의 개입을 최소화하고 수집한 데이터로부터 패턴을 찾으려 시도합니다. 게다가 신경망과 딥러닝은 기존 기계학습에서 사용하던 방법보다 사람의 개입을 더욱 배제할 수 있게 해주는 중요한 특성을 지닙니다. 예를 들어, 자유분방한 손글씨 이미지를 보고 5인지 아닌지를 알아보는 프로그램을 구현해봅시다. 5를 제대로 분류하는 프로그램을 직접 고안해 설계하기란 의외로 어려운 문제입니다. 사람이라면 어렵지 않게 인식하지만, 그 안에 숨은 규칙성을 명확한 로직으로 풀기가 만만치 않습니다. 5를 인식하는 알고리즘을 밑바닥부터 설계하는 대신, 주어진 데이터를 잘 활용해서 해결하고 싶어집니다. 그런.. 2022. 3. 4.
[DL] 손실함수 (Loss Function) : 오차제곱합(SSE), 교차 엔트로피 오차(Cross-Entropy) 손실함수(Loss Function) 신경망 학습에서는 현재의 상태를 ‘하나의 지표’로 표현합니다. 그리고 그 지표를 가장 좋게 만들어주는 가중치 매개변수의 값을 탐색하는 것이 목표입니다. (최적의 매개변수 값을 탐색) 신경망 학습에서 사용하는 지표를 손실 함수(loss function)라고 합니다. 이 손실함수는 임의의 함수를 사용할 수도 있지만 일반적으로는 오차제곱합과 교차 엔트로피 오차를 사용합니다. 손실 함수는 신경망 성능의 ‘나쁨’을 나타내는 지표 현재의 신경망이 훈련 데이터를 얼마나 잘 처리하지 ‘못’하느냐를 나타냄 손실 함수에 마이너스만 곱하면 ‘얼마나 좋으냐’라는 지표로 변신 나쁨을 최소로 하는 것과 좋음을 최대로 하는 것은 결국 같은 것이니까 본질적으로 같음 훈련 데이터에 대한 손실 함수의.. 2022. 3. 4.
[DL] 신경망(Neural network) 퍼셉트론에서 신경망으로 편향을 명시한 퍼셉트론의 형태는 다음과 같습니다. 관련 식을 간결한 형태로 작성하면 다음과 같습니다. 입력 신호의 총합이 h(x)라는 함수를 거쳐 변환되어, 그 변환된 값이 y의 출력이 됩니다. h(x) : 입력이 0을 넘으면 1을 돌려주고, 그렇지 않으면 0을 돌려주는 함수입니다. 활성화 함수 (Activation function) h() : 입력 신호의 총합을 출력 신호로 변환하는 함수입니다. 2단계로 처리합니다. 가중치가 곱해진 입력 신호의 총합을 계산 그 합을 활성화 함수에 입력해 결과(y)를 냄 자세하게 살펴보면 가중치 신호를 조합한 결과가 a라는 노드가 되고, 활성화 함수 h()를 통과하여 y라는 노드로 변환되는 과정입니다. 신경망의 동작을 더 명확히 드러내고자 할 때는.. 2022. 2. 25.
[DL] 신경망 활성화 함수 - 시그모이드(sigmoid), ReLU, 계단함수 활성화 함수 (Activation Function) 활성화 함수란 입력 신호의 총합을 출력 신호로 변환하는 함수입니다. 본 글에서는 활성화 함수의 종류 중 시그모이드(sigmoid) 함수와 ReLU 함수, 계단(step) 함수에 대해서 알아보겠습니다. 계단 함수(Step Function) 계단 함수는 임계값을 경계로 출력이 바뀌는 활성화 함수입니다. 퍼셉트론에서는 활성화 함수로 계단 함수를 이용합니다. import numpy as np import matplotlib.pylab as plt def step_function(x): return np.array(x > 0, dtype=np.int) X = np.arange(-5.0, 5.0, 0.1) Y = step_function(X) plt.plot(X,.. 2022. 2. 25.
[DL] 퍼셉트론(Perceptron) 퍼셉트론 (Perceptron) 프랑크 로젠블라트가 1957년 고안한 알고리즘 퍼셉트론이 신경망(딥러닝)의 기원이 되는 알고리즘이기 때문에 공부가 필요 여기서 기술하는 퍼셉트론은 ‘인공 뉴런’ 혹은 ‘단순 퍼셉트론’ 의미. 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력. 퍼셉트론 신호는 ‘흐른다/안 흐른다(1 or 0)’의 두 가지 값을 가질 수 있음 입력이 2개인 퍼셉트론 x1, x2 : 입력신호 y : 출력 신호 w1, w2 : 가중치 그림의 원 : 뉴런 혹은 노드라고 부름 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력하고, 그 한계를 임계값이라 하며, Θ (세타)로 표현합니다. 퍼셉트론은 복수의 입력 신호 각각에 고유한 가중치를 부여하며, 가중치가 클수록 해당 신호.. 2022. 2. 24.
반응형