기 타 [인공지능 - Ai] ANN, DNN, CNN, RNN 개념과 차이
2020.12.29 13:25
앞전에 머신러닝과, 딥러닝의 개념에 대해서 간단하게 알아보았는데요.
이번에는 인공지능에 대해서도 함께 알아보겠습니다.
● 인공지능, 머신러닝, 딥러닝 인공지능(Artificial Intelligence)는 인간의 지능이 갖고 있는 기능을 갖춘 컴퓨터 시스템을 뜻하며, 인간의 지능을 기계 등에 인공적으로 구현한 것을 말합니다. 머신러닝(Machine Learning) 혹은 기계학습은 인공지능의 한 분야로, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야를 뜻합니다. 딥러닝(Deep Learning)은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(다량의 복잡한 자료들에서 핵심적인 내용만 추려내는 작업)을 시도하는 기계학습 알고리즘의 집합으로 뜻합니다. 인공지능 vs 머신러닝 vs 딥러닝 따라서 위의 그림처럼 가장 포괄적인 인공지능 분야 안에 머신러닝이 속하고 있고, 머신러닝 분야 속에는 딥러닝 분야가 속해있다고 볼 수 있겠습니다. ● ANN, DNN, CNN, RNN ANN(Artificial Neural Network) 위에서 설명한 머신러닝의 한 분야인 딥러닝은 인공신경망(Artificial Neural Network)를 기초로 하고 있는데요. 인공신경망이라고 불리는 ANN은 사람의 신경망 원리와 구조를 모방하여 만든 기계학습 알고리즘 입니다. 인간의 뇌에서 뉴런들이 어떤 신호, 자극 등을 받고, 그 자극이 어떠한 임계값(threshold)을 넘어서면 결과 신호를 전달하는 과정에서 착안한 것입니다. 여기서 들어온 자극, 신호는 인공신경망에서 Input Data이며 임계값은 가중치(weight), 자극에 의해 어떤 행동을 하는 것은 Output데이터에 비교하면 됩니다.
ANN 인공신경망 인공신경망은 시냅스의 결합으로 네트워크를 형성한 인공뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 가리킨다. (출처 : 위키백과) 쉽게 설명하자면, 신경망은 다수의 입력 데이터를 받는 입력층(Input), 데이터의 출력을 담당하는 출력층(Output), 입력층과 출력층 사이에 존재하는 레이어들(은닉층)이 존재합니다. 여기서 히든 레이어들의 갯수와 노드의 개수를 구성하는 것을 모델을 구성한다고 하는데, 이 모델을 잘 구성하여 원하는 Output값을 잘 예측하는 것이 우리가 해야할 일인 것입니다. 은닉층에서는 활성화함수를 사용하여 최적의 Weight와 Bias를 찾아내는 역할을 합니다. ANN의 문제점 학습과정에서 파라미터의 최적값을 찾기 어렵다. 출력값을 결정하는 활성화함수의 사용은 기울기 값에 의해 weight가 결정되었는데 이런 gradient값이 뒤로 갈수록 점점 작아져 0에 수렴하는 오류를 낳기도 하고 부분적인 에러를 최저 에러로 인식하여 더이상 학습을 하지 않는 경우도 있습니다. Overfitting에 따른 문제 학습시간이 너무 느리다. 은닉층이 많으면 학습하는데에 정확도가 올라가지만 그만큼 연산량이 기하 급수적으로 늘어나게 됩니다. 하지만 이는 점점 해결되고 있습니다. 느린 학습시간은 그래픽카드의 발전으로 많은 연산량도 감당할 수 있을 정도로 하드웨어의 성능이 좋아졌고, 오버피팅문제는 사전훈련을 통해 방지할 수 있게 되었습니다. DNN(Deep Neural Network)
Nerual Network vs DNN ANN기법의 여러문제가 해결되면서 모델 내 은닉층을 많이 늘려서 학습의 결과를 향상시키는 방법이 등장하였고 이를 DNN(Deep Neural Network)라고 합니다. DNN은 은닉층을 2개이상 지닌 학습 방법을 뜻합니다. 컴퓨터가 스스로 분류레이블을 만들어 내고 공간을 왜곡하고 데이터를 구분짓는 과정을 반복하여 최적의 구번선을 도출해냅니다. 많은 데이터와 반복학습, 사전학습과 오류역전파 기법을 통해 현재 널리 사용되고 있습니다. 그리고, DNN을 응용한 알고리즘이 바로 CNN, RNN인 것이고 이 외에도 LSTM, GRU 등이 있습니다. CNN(합성곱신경망 : Convolution Neural Network) 기존의 방식은 데이터에서 지식을 추출해 학습이 이루어졌지만, CNN은 데이터의 특징을 추출하여 특징들의 패턴을 파악하는 구조입니다. 이 CNN 알고리즘은 Convolution과정과 Pooling과정을 통해 진행됩니다. Convolution Layer와 Pooling Layer를 복합적으로 구성하여 알고리즘을 만듭니다.
CNN Convolution CNN - convolution 데이터의 특징을 추출하는 과정으로 데이터에 각 성분의 인접 성분들을 조사해 특징을 파악하고 파악한 특징을 한장으로 도출시키는 과정이다. 여기서 도출된 장을 Convolution Layer라고 한다. 이 과정은 하나의 압축 과정이며 파라미터의갯수를 효과적으로 줄여주는 역할을 합니다. Pooling 이는 Convolution 과정을 거친 레이어의 사이즈를 줄여주는 과정입니다. 단순히 데이터의 사이즈를 줄여주고, 노이즈를 상쇄시키고 미세한 부분에서 일관적인 특징을 제공합니다. CNN은 보통 정보추출, 문장분류, 얼굴인식 등의 분야에서 널리 사용되고 있습니다. RNN(순환신경망 : Recurrent Neural Network)
RNN RNN 알고리즘은 반복적이고 순차적인 데이터(Sequential data)학습에 특화된 인공신경망의 한 종류로써 내부의 순환구조가 들어있다는 특징을 가지고 있습니다. 순환구조를 이용하여 과거의 학습을 Weight를 통해 현재 학습에 반영합니다. 기존의 지속적이고 반복적이며 순차적인 데이터학습의 한계를 해결하연 알고리즘 입니다. 현재의 학습과 과거의 학습의 연결을 가능하게 하고 시간에 종속된다는 특징도 가지고 있습니다. 음성 웨이브폼을 파악하거나, 텍스트의 앞 뒤 성분을 파악할 때 주로 사용됩니다. |
핵심?은..
본문 앞의 내용처럼, 알고리즘에 따라서 분류가 되는 것이라고 생각 하시면 될 것 같습니다.
예를 들면, 데이터 분석을 할때 쉽게 프로그래밍 하기 위해, 이미 만들어진 함수를 끌어와서 복잡한 계산을 간단히 하는 것 처럼, 석사이상? 전문가들이 깊게 파고들고 연구해서 RNN, CNN, 등의 알고리즘을 만들어서, 요즘 사용되는 python, r 등의 컴퓨터 언어 프로그램에서 사용되는 것이라고 알고 계시면 될 것 같아요.
댓글 [3]
-
빨강모자 2020.12.30 16:29 -
elios 2020.12.30 17:19 빵강모자님도 수고 많으셨습니다.
새해에도 건강하시고 행복하세요
-
kwoods 2020.12.31 23:12
딴지는 아니고요. 항상 마음에 걸리는 것 한 가지 = Deep 라는 단어,
한국에서 사용되는 이 용어는 99.9999% ---> deep learning을 '딥 러닝'으로 발음하는데,
이렇게 되면 dip learning = 찍어 먹는 학습' 이 되고 맙니다. Deep Learning = 심화학습, 과 전혀 다른 표현이 등장합니다.
굳이 원음을 살려 표기한다면 '디~입 러~닝'처럼 되지요.
우리말에서는 '장음, 단음'이 중요치 않지만 영어에서는 '장음-단음-고음-저음-강세-약음'이 생명이거든요.
이게 바로 억양과 리듬을 만들고, 그게 또 영어의 특징이고요.
이 표현의 발음을 제대로 하는 사람은 몇 만분의 1 정도로 희박하고 노파심에서 적어 봤습니다.
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
3823 | 모 바 일| [Tip] 자급제 단말기 맥 주소 등록하세요 [11] | asklee | 4680 | 7 | 12-30 |
» | 기 타| [인공지능 - Ai] ANN, DNN, CNN, RNN 개념과 차이 [3] |
|
1956 | 4 | 12-29 |
3821 | 기 타| 빅데이터 개념과 공부 방법? 필수적으로 알아둬야 할것 같아요 [5] |
|
1767 | 2 | 12-26 |
3820 | 기 타| [2020년 12월 25일] 29가지-기간 한정 새로운 무료 udemy 과정 | VₑₙᵤₛG | 1588 | 3 | 12-26 |
3819 | 소프트웨어| Ventoy 대용량 usb/외장하드 부팅 문제 해결 [17] | suk | 4183 | 22 | 12-25 |
3818 | 기 타| [2020년 12월23일] 22가지-기간 한정 새로운 무료 udemy 과정 [1] | VₑₙᵤₛG | 1789 | 3 | 12-24 |
3817 | 윈 도 우| Hex 비교 및 수정 스크립트 V1.60 (bincmp) [3] | 히이이잌 | 837 | 8 | 12-24 |
3816 | 윈 도 우| PE 설치 스크립트 V7.31 [13] | 히이이잌 | 3046 | 22 | 12-22 |
3815 | 윈 도 우| PE 업데이트 스크립트 V1.30 [12] | 히이이잌 | 2626 | 31 | 12-20 |
3814 | 윈 도 우| PE 수정 스크립트 V3.87 [12] | 히이이잌 | 2686 | 27 | 12-20 |
3813 | 윈 도 우| 윈도우10 ISO 파일 지원 [4] | 번개 | 2644 | 2 | 12-20 |
3812 | 기 타| 2021년부터 바뀌는 전기 관련 시행규칙(전압, 전선 색) [11] | asklee | 2940 | 7 | 12-17 |
3811 | 윈 도 우| 명령어로 윈도우 모니터 '진짜로' 끄기 [13] | 만수무강 | 3138 | 11 | 12-17 |
3810 | 윈 도 우| winver.exe 없이 윈도우 버전보기 [6] | 네트워크빌 | 2654 | 12 | 12-13 |
3809 | 윈 도 우| PC모델명 인식 뒤 드라이버 자동설치 [15] | Greinke | 3857 | 15 | 12-10 |
3808 | 기 타| 유튜브 볼륨 컨트롤을 마우스로 편하게 (업데이트) [8] | 오호라7 | 2585 | 7 | 12-07 |
3807 | 기 타| 자신의 음악성향에 맞게 EQ(이퀼라이저) 설정하기 [10] | UCLA | 5910 | 18 | 12-02 |
3806 | 윈 도 우| 기본 앱 브라우저 자동으로변경 [3] | Greinke | 2591 | 4 | 12-02 |
3805 | 윈 도 우| 바탕화면에 여러 창으로 가득차 있을때 막 흔들어 주세요 !!! [19] | 하늘소 | 3105 | 9 | 12-01 |
3804 | 윈 도 우| 한글 윈도우에서의 Cortana의 흔적 [3] | 레덕후 | 2477 | 0 | 11-30 |
올 한해도 무탈하게 지내고 또한 평온함으로 밀어주고 이끄시느라 노고가 많으셨습니다.
새해 복 많이 받으세요~~~꾸벅~~