본문 바로가기

딥러닝60

딥러닝의 수치미분과 편미분: 꼭 알아야 할 미분 공식 이번 포스팅에서는 딥러닝에서 미분이 왜 필요하고 딥러닝에서 중요한 미분 공식 5가지에 대해서도 살펴보도록 하겠습니다. 딥러닝을 배우다 보면 손실함수의 대한 미분, 수치미분, 편미분이라는 용어들이 나오게 되죠. 왜 딥러닝은 미분과 밀접한 관계가 있는지 알아보도록 하겠습니다. 손실함수에 미분은 왜 필요한가?손실함수(Loss Funcation)는최적의 매개변수를 찾는 과정이라고 했습니다. 최적의 매개변수를 찾기 위해 미분을 사용한다는 이야기인데요. 미분은 입력변수 x가 미세하게 변할 때 함수 f(x)가 얼마나 변하는지 알 수 있는 식입니다. 손실함수 f(x)는 입력 x의 미세한 변화에 얼마나 민감하게 반응하는지 그 기울기를 계산하기 위해 미분이라는 방법을 사용합니다. 미분계수 : 순간변화율 = 접선의 기울기특.. 2024. 1. 22.
딥러닝 학습 방법: batch size, Iteration, epoch(에포크) 이번 포스팅에서는 딥러닝 학습 방법에 대해 알아보겠습니다. 특히 딥러닝의 맥락에서 모델(알고리즘)을 개발하는 데 있어 어떤 절차로 진행되는지 보겠습니다. 딥러닝은 학습 과정은 상호 연결된 노드(뉴런)의 레이어를 이용하여 수행됩니다. 그래서 batch size(배치 사이즈), Iteration(반복), epoch(에포크)와 같은 학습에 필요한 개념들을 이 글에서 정확히 이해하는 것이 중요합니다. 신경망 학습 방법(절차) 1.가중치 초기화 딥러닝 학습을 시작하면서 가중치와 편향을 초기화합니다. 일반적인 초기화 방법에는 무작위 초기화 또는 사전 학습된 가중치로 사용하기도 합니다. 가중치 계산하는 법에 대한 글을 참고하시기 바랍니다. 2.Feedforward Propagation 분석가들 사이에서 데이터를 먹이.. 2024. 1. 19.
딥러닝에서 크로스 엔트로피(Cross Entropy)를 사용하는 이유 이번 포스팅에서는 크로스 엔트로피(Cross Entropy)에 대해 알아보도록 하겠습니다. 크로스 엔트로피는 머신러닝 분야, 특히 딥러닝에서 신경망 훈련에서 사용되는데요. 어떤 역할을 하기 때문에 사용하는 걸까요? 결론부터 말하면 예측된 확률 분포와 실제 분포 간의 차이를 측정하는 손실함수 역할입니다. 여기서 손실함수라는 개념이 나오는데요. 만약 손실함수를 사용하는 이유가 궁금하다면 링크를 참고하시기 바랍니다. 입력 데이터를 여러 클래스로 분류하는 작업에서 특히 많이 사용됩니다. 이 말은 이진 분류(Binary Classification) 뿐만아니라 다중 분류(Multiclass Classification)까지 사용 가능하다는 의미입니다. Cross entropy란 어원부터 살펴보면, 엔트로피는 불확성의.. 2024. 1. 18.
딥러닝에서 손실함수를 사용하는 이유 이번 포스팅에서는 손실함수에 대해 다뤄보겠습니다. 머신러닝에서도 손실함수는 사용하게 되는데요. 그렇다면 딥러닝에서는 손실함수를 어떻게 사용할까요? 손실함수를 사용하는 이유? 신경망 학습은 최적의 매개변수 값을 찾는 과정입니다. 방법은 미분(기울기)을 계산하고, 그 미분 값을 단서로 매개변수의 값을 서서히 갱신하는 과정을 반복하죠. 결론적으로 높은 정확도를 끌어내는 매개변수 찾기 위해 사용 손실함수를 사용한다고 할 수 있습니다. 정확도를 높이기 위한다면 정확도 자체를 사용해도 되지 않을까 생각할 수도 있는데요. 정확도가 아닌 손실함수를 사용하는 이유는 정확도는 '0' 이되는 지점이 지점이 생기기 때문입니다. 하지만 손실함수는 활성화 함수가 기울기가 0이 되지 않는 함수라 절대 '0'이 되지 않게 되어있습니.. 2024. 1. 17.
소프트맥스 함수를 사용하는 이유? 소프트맥스 함수의 이름의 의미는 무엇일까요? 이 단어는 Soft와 Max의 결합어인데요. 입력 값의 ‘가장 큰값’을 ‘부드럽게’ 선택하는 과정이라고 합니다. 아직 무슨 소리인지 모르겠죠? 소프트맥스는 딥러닝, 특히 다중 클래스 분류 문제에 자주 등장합니다. 신경망의 출력 층에서 있는 것을 보셨을거예요. 이 글에서 소프트맥스 함수는 무엇이고 어떤 원리로 딥러닝에서 사용하는지 알아보도록 하겠습니다. Softmax 란소프트맥스 함수는 임의의 실수 값으로 구성된 벡터를 확률 분포로 바꾸는 데 사용됩니다. 쉽게 말해 입력 벡터(일반적으로 신경망의 마지막 레이어의 출력)를 가져와 이를 합이 1이 되는 확률 벡터로 변환한다는 말입니다. 이는 입력이 여러 중 하나에 속할 수 있는 시나리오(클래스 분류)에서 예측할때 필.. 2024. 1. 16.
활성화 함수 종류: 왜 활성화 함수가 필요할까? 딥러닝을 공부하다 보면 활성화 함수가 나오게 됩니다. 그런데 왜 활성화 함수가 신경망에서 필요한 것일까요? 이번 글에서는 활성화 함수의 필요성 및 종류에 대해 알아보도록 하겠습니다. 왜 활성화 함수가 필요한가? 활성화 함수가 필요한 이유는 이전 층(layer)의 결괏값을 변환하여 다른 층의 뉴런으로 신호를 전달하기 위해서입니다. 활성화 함수를 비선형 함수를 사용하는데요. 그 이유는 선형은 아무리 깊어지더라도 f(ax+by)=af(x) + bf(y)의 성질 때문에 결국 하나의 layer로 깊은 layer를 구현할 수 있게 됩니다. 결론적으로 linear 한 연산을 갖는 layer를 수십 개 쌓아도 결국 이는 하나의 linear 연산으로 표현됩니다. 선형은 Layer를 쌓을 수 없다는 이야기죠. 깊은 Lay.. 2024. 1. 15.
신경망 연산: 딥러닝 가중치 계산 방법 이번 포스팅에서는 신경망의 연산 방법에 대해 알아보겠습니다. 딥러닝에서 가중치 계산을 어떻게 하는지에 대해 많은 사람들이 궁금해합니다. 저 또한 처음에 어떤 방식으로 계산하는지 알기 위해 선형대수를 다시 공부했던 생각이 납니다. 그만큼 수학과 관련성이 높은 영역이 딥러닝의 계산 방식입니다. 신경망의 내적(행렬 곱) 이전 "텐서(Tensor)의 개념"에 대해 배웠습니다. 딥러닝에서는 텐서가 Input으로 들어가기 때문에 계산식이 다차원 배열을 곱하는 방식입니다. 배열을 곱하려면 먼저 두 행렬의 대응하는 차원의 원소 수를 일치시켜야합니다. 왼쪽 행렬의 행(가로)과 오른쪽 행렬의 열(세로)을 원소별로 곱하고 그 값을 더해서 계산합니다. 예를 들면, h1 = W11 X1 + W12 X2 + W13 X3 식입니다.. 2024. 1. 12.
신경망 모델 표기법 및 출력층 설계 이번 포스팅에서는 딥러닝에서 표기법과 하이퍼 파라미터에 대해 알아보겠습니다. 신경망은 많은 부분 그림을 통해 설명을 하기 때문에 가중치의 표기법이 필요한 이유입니다. 가중치 표기법 가중치는 층(Layer)의 상태를 나타냅니다. 각 층의 파리마터, 즉 가중치는 최종적으로 모델이 학습을 진행하면서 이 가중치가 변하게 됩니다. 그리고 가중치에 의해 특성들을 더 잘 추출하고 예측을 잘하는 모델이 됩니다. 예를 들어, 표기법 W12에 대해 설명드리면, 첫 번째 Layer의 위치한 가중치 요소를 말하며 의미하는 바는 각각 아래와 같습니다. 1은 출력 노드 : 출력 레이어(Layer 1)의 첫 번째 노드(ℎ1) 2는 입력 노드 : 입력 레이어(Layer 0)의 두 번째 노드(𝑥2) 네트워크 구조 결정 파라미터 설정 .. 2024. 1. 11.
신경망 구조 설계: 딥러닝 아키텍처, Layer(층) 수 이번 포스팅에서는 신경망의 설계 방법에 대해서 알아보겠습니다. 보통 신경망 아키텍처를 설계한다 또는 그린다는 표현을 사용하는데요. 신경망을 구성하는 요소는 무엇이 있고 어떤 점을 고려해야 하는지에 대한 이야기를 해 보겠습니다. 신경망 구성 보기에도 신경망은 매우 복잡하게 보입니다. 미리 말씀드리지만 모양은 복잡하지만 원리를 알면 단순한 방식으로 진행됩니다. 신경망은 텐서를 이용해 병렬 계산을 수행합니다. 텐서에 대해 아직 모르신다면 관련 포스팅을 참고하시 바랍니다. 텐서(Tensor)의 개념: 텐서플로우 vs 파이토치 vs 케라스 신경망(network) 구성은 층(Layer)으로 구성합니다. 크게 Input Layer, hidden Layer, Ouput Layer로 구분할 수 있습니다. 어떻게 보면 딥.. 2024. 1. 10.