ML/DL 관련된 지식을 하나씩 정리해보려 합니다.
공부 정리 및 면접 대비용이기 때문에 자료도 부족하고 설명이 친절하지 않을수도 있으나, 혹 누군가 이 글을 보게 된다면 도움이 되면 좋겠습니다.
작성 순서는 학습 순서에 상관 없이 뒤죽박죽입니다. 참고해주시면 감사하겠습니다 :)
퍼셉트론(Perceptron)이란 인공 신경망의 구성요소로서 다수의 값을 입력받아 하나의 값으로 출력하는 알고리즘입니다. Perception과 Neuron의 합성어로, 인간의 뇌를 구성하는 뉴런과 유사한 구조를 가지고 있습니다.
각각의 인공 뉴런에서 보내지는 입력값과 가중치는, 종착지에 전달이 됩니다. 가중치의 값이 크면 클수록, 해당 입력값이 중요하다는 것을 의미합니다. 입력값과 가중치의 값을 편향(bias)이라 합니다. 편향은 퍼셉트론으로 전달되고, 입력받은 값을 모두 합산한 결과를 가중합이라고 부릅니다. 이 때의 가중합이 임계치(threshold)를 넘으면, 신호를 출력합니다. 이런 임계값을 비교하는 함수를 활성화 함수(activation function)이라고 하며, 간단히 말하자면 뉴런의 출력값을 비선형적으로 변형시키는 함수를 의미합니다. 활성화 함수에는 sigmoid, tanh, ReLu 등 다양한 함수가 있습니다. 다음에 시간이 될 때 다루도록 하겠습니다.
입력층(Input Layer)과 출력층(Output Layer), 총 2개의 층으로만 이루어진 퍼셉트론을 단층 퍼셉트론(Single-Layer Perceptron)이라고 합니다. 구조가 굉장히 간단하기 때문에, 로직이 조금만 복잡해지면 연산이 불가능하다는 한계가 있습니다.
단층 퍼셉트론과 달리 입력층과 출력층 사이에 1개 이상의 다른 층이 있는 경우를 다층 퍼셉트론(Multi-Layer Perceptron, MLP)이라고 하며, 입력층과 출력층 사이에 있는 층을 은닉층(Hidden Layer)라고 합니다. 다층 퍼셉트론은 단층 퍼셉트론보다 더욱 복잡한 문제를 해결할 수 있으며, 2개 이상의 은닉층을 가진 다층 퍼셉트론을 심층 신경망(Deep Neural Network, DNN)이라고 말합니다. 흔히 말하는 딥러닝이 바로 심층 신경망의 학습을 의미합니다.
참고문서
https://heytech.tistory.com/332
https://wikidocs.net/24958