728x90 인공지능∙모델링/딥러닝7 7. 합성곱 신경망(CNN)의 구조 (Structure of Convolutional Neural Network) 합성곱 신경망은 이미지 인식과 음성 인식 등 다양한 곳에서 사용되는 인공 신경망이다. 특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 대부분 CNN을 기초로 한다. 1. 완전연결 계층(fully-connected layer)와 합성곱 계층(convolutional layer) 지금까지의 신경망은 인접한 계층의 모든 뉴런과 결합되어 있었다. 이를 완전 연결(fully-connected)이라고 하며, 완전히 연결된 계층을 Affine 계층이라는 이름으로 구현했었다. 아래는 완전 연결 구조의 예시이다. ※ Affine: 신경망의 순전파 때 수행하는 연산을 의미한다. 수학의 'Affine 변환' 개념을 따르는데, 이 변환은 기본적으로 입력 데이터에 대해 선형 변환(즉, 가중치와의 곱셈)을 수행한 후에 편향을 .. 2023. 12. 12. 6. 딥러닝에서 과적합(Overfitting)을 막는 방법 1. 가중치 규제 (Weight Regularization) 복잡한 모델을 적합(fit)하거나 특정 가중치의 매개변수 값이 클 때 과적합이 발생할 수 있다. 이때, 학습 과정에서 큰 가중치에 대해서는 그에 상응하는 큰 패널티를 부여해 과적합을 억제할 수 있다. 신경망 학습의 목적은 손실 함수의 값을 작게 만드는 좋은 모델을 찾는 것이기 때문에, 새로 갱신되는 손실함수에 패널티를 주어 과도하게 큰 파라미터를 갖게 되는 것을 막는 것이다. 2. 배치 정규화 (Batch Nomalization) 배치 정규화는 각 배치의 입력 데이터 평균과 분산을 구해 입력 데이터가 평균이 0, 분산이 1이 되도록 정규화한다. 배치 정규화는 과적합을 해결할 수 있다는 장점 뿐만 아니라 학습 속도를 개선할 수 있다는 장점과 초깃.. 2023. 12. 12. 5. 인공신경망의 학습 (Neural Network Training) 문제에 따른 인공신경망 함수와 노드 설정 문제 손실함수 (loss function) 활성화 함수 (activation function) 마지막 총 노드 개수 회귀 MSE 항등 함수(Identity function) (일반적으로) 1개 이진 분류 BCE 시그모이드(Sigmoid) 1개 다중 분류 CE 소프트맥스(Softmax) class의 개수 (추후 작성 예정) 2023. 12. 12. 4. 인공 신경망 최적화 (Artificial Neural Network Optimization) - 일변수 함수 신경망 학습의 목적은 손실 함수의 값을 가능한 한 낮추는 매개변수를 찾는 것이다. 이는 곧 학습을 통해 매개변수의 최적값을 찾는 문제이며, 이러한 문제를 푸는 것을 "최적화(optimization)"라고 한다. 신경망의 특징은 데이터를 보고 학습할 수 있다는 점이다. 데이터에서 학습한다는 것은 가중치 매개변수의 값을 데이터로 보고 자동으로 결정하는 것이다. (실제 신경망에서는 매개변수가 수천에서 수만개이고, 딥러닝에서는 그 수가 수억에 이를 수 있다. 모든 매개변수를 수작업으로 결정하는 것이 불가능하기 때문에 자동으로 결정되어야 한다.) ※ 손실 함수 손실 함수는 신경망 성능의 '나쁨'을 나타내는 지표로, 현재의 신경망이 훈련 데이터를 얼마나 잘 처리하지 '못'하느냐를 나타낸다. 신경망은 학습에서 손실함.. 2023. 10. 10. 3. 인공 신경망(Artificial Neural Network, ANN) 앞에서 배운 퍼셉트론의 장점은 복잡한 함수를 표현할 수 있다는 점이다. 하지만 가중치를 설정하는 작업(원하는 결과를 출력하도록 가중치 값을 적절히 정하는 작업)은 사람이 수동으로 해야한다는 단점이 있다. 1장과 2장에서도 AND, OR 게이트의 진리표를 보면서 직접 가중치 값을 정해야 했다. 하지만 적절한 가중치 값을 데이터로부터 자동으로 학습하는 능력이 있는 "신경망"을 이용하면 이 문제점을 해결할 수 있다. ※딥러닝에서 사용하는 신경망은 실제 생물의 몸에 있는 신경망에 영감받아 만든 것이다. 인공신경망(artificial neural network, ANN)은 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계중 특히 뇌)에서 영감을 얻은 알고리즘이다. 인공신경망은 시냅스의 결합으로 네트워크를 .. 2023. 10. 8. 2. 다층 퍼셉트론(Multi-Layer Perceptron) 1. XOR 게이트 지난 시간에 다뤘던 "퍼셉트론"에 관한 문제를 살펴보자. 한쪽이 1일 때만 1을 출력하는 XOR 게이트를 퍼셉트론을 이용해 표현하려고 한다. XOR 게이트의 그래프는 다음과 같다. 하지만 이전에 다뤘던 게이트들과 달리 한 개의 직선으로 0과 1을 구분할 수 없다. 0과 1을 나누는 영역을 만들어내려면 곡선이나 두 개 이상의 직선이 필요하다. 이처럼 퍼셉트론은 직선 하나로 영역을 구분할 수 없는 경우에 한계가 생긴다. (단층 퍼셉트론으로 비선형 영역을 분리할 수 없다.) 이를 해결할 수 있는 방법은 층을 여러 개 쌓아 "다층 퍼셉트론(MLP, multi-layer perceptron)"을 만드는 것이다. 즉, 한 개의 퍼셉트론으로 해결하는 것이 불가능하기 때문에 여러 층으로 퍼셉트론을 .. 2023. 10. 6. 1. 단층 퍼셉트론(Single-Layer Perceptron) 1. 퍼셉트론(perceptron)의 개념 퍼셉트론은 인공신경망(딥러닝)의 기원이 되는 알고리즘이다. 퍼셉트론은 다수의 신호를 입력(input)으로 받아 0 혹은 1을 신호로 출력(output)한다. 아래 그림은 입력으로 2개의 신호를 받은 퍼셉트론의 예시이다. x1, x2는 입력 신호, y는 출력 신호, w1과 w2는 가중치이다. 왼쪽의 원은 뉴런(neuron) 혹은 노드(node)라고 부른다. 입력 신호가 뉴런에 보내질 때 각각 고유한 가중치가 곱해지고 (w1x1, w2x2), 뉴런에서 보내온 신호의 총합(w1x1+w2x2)이 정해진 값을 넘어설 때 1을 출력한다. 이 때 정해진 값을 임계값이라 하고, θ로 나타낸다. 수식과 그림으로 퍼셉트론을 표현하면 다음과 같다. (가중치는 각 신호가 결과에 주는.. 2023. 9. 20. 이전 1 다음 728x90