전체 글(137)
-
Pytorch로 시작하는 딥러닝 입문(06-06. 비선형 활성화 함수: Activation function)
비선형 활성화 함수는 입력을 받아 수학적 변환을 수행하고 출력을 생성하는 함수이다. 앞서 배운 시그모이드 함수, 소프트맥스 함수가 대표적인 활성화 함수 중 하나이다. 여기서는 인공신경망의 은닉층에서 왜 활성화 함수로 시그모이드 함수를 사용하는 것을 지양해야 하는지를 알아보고, 은닉층에서 주로 사용되는 함수인 ReLU 함수와 그 외의 다른 활성화 함수들을 소개한다. ♣ 활성화 함수의 특징: 비선형 함수(Nonlinear function)활성화 함수의 특징은 선형 함수가 아닌 비선형 함수여야 한다는 점이다. f(x) = Wx+b 와 같은 함수에서 W와 b는 상수이다. 이 식은 그래프를 그리면 직선이 그려진다. 이와 다르게 비선형 함수는 직선 1개로는 그릴 수 없는 함수를 의미한다. 인공신경망의 능력을 높이..
2024.03.12 -
Pytorch로 시작하는 딥러닝 입문(06-05. XOR: 다중 퍼셉트론 구현하기)
♣ 파이토치로 다중 퍼셉트론 구현하기 입력과 출력 정의하기 다층 퍼셉트론 설계하기 다층 퍼셉트론을 설계하는데, 아래는 입력층, 은닉층1, 은닉층2, 은닉층3, 출력층을 가지는 인공신경망이다. 위 인공신경망을 그림으로 표현하면 아래와 같다. 비용함수와 옵티마이저 선언하기 nn.BCELoss( )는 이진 분류에서 사용하는 크로스엔트로피 함수이다. 학습을 진행하면서 비용이 최소화되는 방향으로 가중치와 편향이 업데이트된다. ♣ 학습된 다층 퍼셉트론의 예측값 확인하기 모델이 XOR 문제를 풀 수 있는지 테스트해보자. 실제값은 0, 1, 1, 0이며 예측값은 0, 1, 1, 0으로 문제를 해결할 수 있다는 것을 보여준다!
2024.03.11 -
Pytorch로 시작하는 딥러닝 입문(06-04. 역전파: Back Propagation )
인공신경망이 순전파 과정을 진행하여 예측값과 실제값의 오차를 계산했을 때 어떻게 역전파 과정에서 경사하강법을 사용하여 가중치를 업데이트하는지 직접 계산을 통해 이해해보자. ♣ 인공신경망의 이해(Neural Network Overview) 역전파 이해를 위해 입력층, 은닉층, 출력층 이렇게 3개 층을 가지는 인공신경망을 사용한다. 또한 두 개의 입력과 두 개의 은닉층 뉴런, 두 개의 출력층 뉴런을 사용한다. 은닉층과 출력층의 모든 뉴런은 시그모이드 함수를 활성화 함수로 사용한다. 은닉층과 출력층의 모든 뉴런에서 변수 z가 존재하는데, 이는 이전층의 모든 입력이 각각의 가중치와 곱해진 값들이 모두 더해진 가중합을 의미한다. 이 값은 뉴런에서 아직 시그모이드 함수를 거치지 않은 상태로, 활성화 함수의 입력을 ..
2024.03.10 -
Pytorch로 시작하는 딥러닝 입문(06-03. XOR 문제: 단층 퍼셉트론 구현하기 )
파이토치를 사용해서 단층 퍼셉트론을 구현하여 XOR 문제를 풀어보자 *XOR 문제(https://wikidocs.net/60680, 입력값 두 개가 서로 다른 값을 갖고 있을 때만 출력값이 1이 되고, 입력값 두 개가 서로 같은 같을 가지면 출력값이 0이 되는 게이트. 곡선을 이용하여 영역 분리를 할 수 있음) ♣ 파이토치로 단층 퍼셉트론 구현하기 도구 import하기(GPU 연산 설정) 입력과 출력 정의하기 1개의 뉴런을 가지는 단층 퍼셉트론 구현하기 앞에서 배운 활성화 함수인 시그모이드 함수를 사용해보자. 0 또는 1을 예측하는 이진 분류 문제이므로 비용함수로는 크로스엔트로피 함수를 사용한다. nn.BCELoss( )는 이진 분류에서 사용하는 크로스엔트로피 함수이다. 비용이 제대로 줄어들지 않는다는 ..
2024.03.10 -
Pytorch로 시작하는 딥러닝 입문(06-02. 인공신경망: 퍼셉트론)
인공신경망은 수많은 머신 러닝 방법 중 하나이지만, 인공신경망을 복잡하게 쌓아올린 딥 러닝이 다른 머신 러닝 방법들을 뛰어넘는 성능을 보여주는 사례가 늘면서 전통적인 머신 러닝과 딥러닝을 구분하기도 한다. 딥러닝을 이해하기 위해서는 인공신경망에 대한 이해가 필요하다. ♣ 퍼셉트론(perceptron)퍼셉트론은 초기의 인공신경망으로, 다수의 입력으로부터 하나의 결과를 내보내는 알고리즘이다. 위의 그림에서 x는 입력값을 의미하며, W는 가중치(weight), y는 출력값이다. 원은 인공 뉴런에 해당된다. 실제 신경세포 뉴런에서 신호를 전달하는 축삭돌기의 역할을 하는 것이 가중치이다. 각각의 입력값 x는 각각의 가중치 W와 함께 종착지인 인공뉴런에 전달되고 있다. 각각의 입력값에는 각각의 가중치가 존재하는데..
2024.03.08 -
Pytorch로 시작하는 딥러닝 입문(06-01. 인공신경망: 머신 러닝 용어 이해하기)
링크 참조 https://wikidocs.net/60021 06-01 머신 러닝 용어 이해하기 이번 챕터에서는 머신 러닝의 특징들에 대해서 배웁니다. 딥 러닝 또한 머신 러닝에 속하므로, 아래의 머신 러닝의 특징들은 모두 딥 러닝의 특징이기도 합니다. ## 1. 머신… wikidocs.net
2024.03.06