딥러닝이란?
深層學習(심층학습) / Deep Learning / Aprendizaje Profundo
기계학습 기술의 종류 중 하나인 인공신경망의 방법론 중 하나이다. 다층 구조의 은닉층으로 네트워크를 연결한 기법을 뜻하며 현대 인공지능 기술의 핵심이자 앞으로 더더욱 각광받게 될 기술이다.
딥러닝은 데이터를 처리하도록 컴퓨터를 가르치는 머신러닝 시스템에서 고도화된 인공지능 방식이다. 이는 그림, 텍스트, 사운드 및 기타 데이터의 복잡한 패턴을 인식하여 정확한 인사이트(특정 분야에 대하여 전체 현상을 이해하는 능력으로 가장 효율적인 방식을 판단할 수 있음은 물론 미래 예측에 도움이 되는 능력.)와 예측을 생성할 수 있다.
구체적으로 설명하자면 신경망에서 은닉층(hidden layer)이 2개 이상인 것을 의미한다.
이러한 딥러닝은 새로운 개념이 아닌 기존 인공신경망의 한종류로, 인공신경망의 여러 한계점을 극복해 문제를 해결한 알고리즘이다. 인공신경망은 두뇌의 신경세포를 모방하여 수학적으로 모델링한 것이며, 데이터를 학습시켜 분류 및 예측의 최적화를 진행하는 머신러닝의 한 분야이다.
딥러닝은 인공신경망을 통해 인간이 하는 행위, 즉 모델을 제시하고 훈련시키는 과정을 기계가 인공신경망을 통해 직접 한다고 볼 수 있다. 즉 기계가 직접 데어터로부터 결과 도출을 위한 의사결정을 하고, 이를 스스로 추출하는 과정을 딥러닝이라 한다.
인공 신경망(Artificial neural network)
인공신경망은 인간의 두뇌를 구성하는 신경세포 즉, 뉴런의 형태 및 동작원리를 모방하여 만든 모델이다.
인간의 두뇌에서 1000억 개가 넘는 뉴런이 100조 개 이상의 시냅스를 통해 병렬적으로 연결되어 있는데, 각각의 뉴런은 수상돌기를 통해 다른 뉴런으로 부터 신호를 입력바다 축색돌기를 통해 다른 뉴런으로 신호를 내보내며, 출력 신호는 입력된 신호가 모여 일정한 용량을 넘어설 때 이러난다. 이러한 뉴런을 인공적으로 모방한것이 인공신경망의 원리이다.
이런 인공 신경망에서 입력 벡터가 자리잡는 층을 입력층, 최종 출력값이 자리잡는 층을 출력층, 입력층과 출력층 사이에 위치하는 모든 층을 은닉층이라고 한다. 이런 입력층-은닉층-출력층의 경우 다양한 인공신경망 구조에서 공통적으로 존재하는 층이다. 은닉층의 개수가 많이질수로 인공신경망이 깊어졌다(deep)고 부르며, 충분히 깊어진 인공신경망을 러닝 모델로 사용하는 머신러닝 패러다임을 딥러닝이라고 한다. 그리고 딥러닝을 위해 사용하는 충분히 깊은 인공신경망을 심층 신경망이라고 통칭한다.
입력층 | -feature에 대한 정보(독립변수)를 입력받고 다음층으로 전달한다. -입력층 노드의 수 = 독립변수의 수 |
은닉층 | -종속변수를 예측하는데 중요한 특성이나 패턴을 추출한다. -입력 받은 데이터를 활성화 함수를 거쳐서 변환해서 전달함/ -은닉층 노드의 수 = 사용자가 설정 |
출력층 | -종속변수의 예측치를 출력한다. -회귀의 경우 종속변수 값을 그대로 출력하고 분류는 각 종속변수 클래스의 확률을 출력함 -회귀문제 : 출력 노드의 수 = 1 -분류문제 : 출력 노드의 수 = 종속 변수의 클래스 수 |
인공신경망이란 무엇인가에 대한 하나의 공식적인 정의는 없다. 그러나 만약 통계학적 모델들의 집합이 다음과 같은 특징을 가진다면 해당 집합을 신경(neural)이라고 부른다.
- 조정이 가능한 가중치(조정가능한 가중치들은 뉴런 사이의 연결 강도를 의미한다. 이들은 훈련 또는 예측하는 동안에 작동한다.)들의 집합 즉, 학습 알고리즘에 의해 조정이 가능한 숫자로 표현된 매개변수로 구성되어있다
- 입력의 비선형 함수(직선이 아닌 함수, 즉 직선 1개로는 그릴 수 없는 함수. 출력 값을 비선형적으로 만듦으로써 XOR 문제를 해결할 수 있기에 신경망 모델에서 비선형 함수를 사용한다.)를 유추할 수 있다.
인공신경망의 학습원리
인공신경망의 학습원리는 오른쪽 그림과 같이 변수를 입력하면 입력 층에서 각각의 입력변수 x의 값을 가진 노드(노드(node)는 컴퓨터 과학에 쓰이는 기초적인 단위이다. 노드는 대형 네트워크에서는 장치나 데이터 지점(data point)을 의미한다.)의 값을 갖는 가중치(각 입력 신호가 결과 출력에 미치는 중요도를 조절하는 매개변수다. 입력 값에 곱해지는 수이며, 입력으로 들어온 데이터들 중에서 어떤 feature를 많이 반영하고, 어떤 feature를 덜 반영할지 결정해준다.) w와 결합하여 새로운 노드를 생성하게 되는 원리로 학습이 진행된다.
이때 입력 변수 x와 가중치 w이 결합한 값에 편향 값(뉴런의 활성화 조건을 결정하는 매개변수이다.) 활성화 함수에서 설정된 입계값을 얼마나 쉽게 넘게 할 것인지 결정해준다. 편향이 높다면 그만큼 활성화 함수의 임계값을 넘기 어렵기 때문에 까다로운 모델이 된다. 활성화 함수(은닉층에서 사용되는 함수)의 임계값을 넘지 못하면 그 뉴런은 활성화되지 못하기 때문에 간단한 모델이 된다.을 뜻하는 bias가 더해져 활성화 함수와 결합하게 되며, 이러한 과정을 모두 거친 최종 값이 다음 노드로 출력된다.
인공신경망의 장단점
인공신경망의 장점은 기존의 데이터를 기반으로 학습하기 때문에 과거의 통계학적인 분석방법에 비해 수학적으로 해결이 어려운 복잡한 문제에 대해 분석이 용이하고 분석시간이 비교적 짧다. 또한 패턴 인식, 예측, 분류 등의 문제에 특화되며, 이를 적용해 해결할 수 있는 문제의 분야 및 범위에 대한 제약이 적다.
그러나 입력변수로 들어가는 데이터의 품질에 따라 결과가 달라질 수 있으며, 모델을 구성하는 다양한 하이퍼 파라미터의 선택에 따라 학습 성능에 큰 영향을 미친다. 또한 도출된 결괏값에 대한 이론적인 설명이 어려우며, 제한된 은닉층과 학습의 복잡도로 인하여 과대 적합, 과소 적합등의 학습성능 문제와 학습과정 중 기울기가 소실되는 문제 등의 단점을 가진다.
참조
https://bigwaveai.tistory.com/17
딥러닝, 그거 어떻게 하는 건데?
안녕하세요! 빅웨이브에이아이의 박정환입니다. 저는 항상 교육자료를 만들면서 어떻게 해야 더 쉽게 딥러닝을 소개할지 고민하는데요, 그 과정에서 만들어진 자료들을 바탕으로 최대한 쉽게
bigwaveai.tistory.com
https://aws.amazon.com/ko/what-is/deep-learning/
딥 러닝이란 무엇인가요? - 딥 러닝 설명 - AWS
딥 러닝은 자동차, 항공 우주, 제조, 전자, 의학 연구 및 기타 분야에서 여러 가지 사용 사례에 활용됩니다. 다음은 딥 러닝의 몇 가지 예입니다. 자율 주행 자동차는 딥 러닝 모델을 사용하여 도
aws.amazon.com
https://namu.wiki/w/%EB%94%A5%20%EB%9F%AC%EB%8B%9D
딥 러닝 - 나무위키
우선 본인이 어떠한 목적으로 딥러닝을 공부하는지 확실히 답할 수 있어야 한다. 즉, 딥러닝을 공부하는 명확한 이유가 있어야 한다. 단순히 "딥러닝이 요즘 핫하다던데 나도 한번 공부해볼까??"
namu.wiki
'알고리즘' 카테고리의 다른 글
과대적합(overfitting)과 과소적합(underfitting) (0) | 2023.08.27 |
---|---|
검색 알고리즘 (0) | 2023.08.23 |
머신러닝에 관하여 (0) | 2023.08.21 |