AI, 머신러닝, 딥러닝 이란?
위의 그림과 같이 AI가 가장 상위 개념이고 머신 러닝이 그 다음, 딥러닝이 가장 하위 개념이 속한다.
인공지능 AI는 간단하게 정의 할 수 있다. "사람처럼 행동하도록 만들어진 장치" 이다.
사실 이 개념은 공학자 이외의 직업들도 쉽게 인지하고 있는 개념이다.
머신 러닝은 "다량의 데이터 학습을 통해 얻어진 러닝 함수 f(x)를 찾고 이를 기반하여 자동으로 답을 찾아주는 것" 이다.
이 개념을 이해하기 앞서 설명하면 좋을 내용이 있다.
이미지 처리(OpenCV) or 데이터 처리
이미지 처리를 예로 든다면 아래와 같이 동작할 것이다.
물체의 HSV 값, 크기, 위치 등의 이미지 정보를 읽어 공학자가 직접 함수를 거는 것을 말한다.
공학자라면 이 작업을 많이 해봤을 것이다. 어떠한 가설, 성능을 목표로 두고 수많은 실험 데이터를 추출하여 결과 값에 빗댄 결과를 도출한다. 그래서 공학자에게 데이터 처리의 개념은 숙명이다.
그리고 이제 사람이 하던 함수 설정을 컴퓨터가 자동으로 하도록 하는 것이 '머신 러닝'이다.
Data와 label를 쌍으로 연결하여 넣어주면 컴퓨터가 자동으로 러닝 함수 f(x)를 찾아준다.
학습(train)을 통해 러닝 함수 f(x)를 찾아가고 새로운 데이터를 러닝 함수 f(x)에 입력하면 예측(predict)를 통해 output을 내놓는다.
여기서 Data classification이 정확해지는 f(x)를 찾는 것이 관건이다.
그리고 마지막으로 공학자로서 AI 기술을 구현하는데 꼭 알아야 할 개념,
딥러닝은 "머신 러닝에 '인간의 논리 구조인 인공 신경망(알고리즘 구조)'를 더한 기술" 이다.
머신 러닝에서 발전된 형태로 사람이 학습할 데이터를 입력하지 않아도 스스로 학습하고 예측한다.
사람처럼 행동하도록 장치를 만드려면 이 딥러닝 알고리즘 구조 (혹은 딥러닝 모델 종류)를 활용하여 연산을 진행해야 한다.
현재 수많은 딥러닝 모델들이 쏟아져 나왔으며, 어느 분야에 접목할 AI 기술이냐에 따라 그 종류도 다양하다.
그렇기에 이제 AI 기술은 소프트웨어 공학자에게만 블루오션으로 각광받는 기술이 아니다. 아날로그 설계, 디지털 논리 설계, FPGA, 반도체, 바이오, 뇌공학, 도시 건설 등등 이미 많은 분야에서 필수 연구 테마로 손 꼽히고 있다.
그래서 어찌보면 기본 교양 과목과 같이 알아두면 좋은 분야, 시대의 흐름을 타야하는 분야가 되었다.
딥러닝 모델 종류
인공지능이란 사람처럼 행동하는 장치를 만드는 것이기에 인간의 논리 구조를 최대한 따라하는 것이 중요한다. 사람도 본인이 살아온 오랜 경험을 통해 수많은 데이터를 보고 습득하여 기억한다. 그렇게 뇌 깊은 속에 자리 잡은 기억들로 인해 숫자와 글자를 인식하고 불량을 판단하고 행동을 실행한다.
그러므로 딥러닝에서 가장 중요한 개념은 아래와 같다.
인간의 논리 구조인 인공 신경망에 얼마나 근접한 알고리즘 구조를 갖췄는 가
이 개념을 계속 머릿 속에 새기며 딥러닝 모델 종류를 살펴보겠다.
1. CNN
- Convolutional Neural Network, 합성곱 신경망
- 인간의 시신경 구조(퍼셉트론)를 모방한 기술 (aka. 딥러닝에선 convolution layer)
- 노드 간 연결 갯수가 기하급수적으로 증가하여 크기가 작은 필터(filter)를 사용함 (aka. convolution layer)
- 이로 인해 가중치의 개수를 줄어주며 국부 영역에 대한 특징에 집중할 수 있는 특성이 있음
- 위의 특징으로 학습이 가능해 비전(vision) 분야에서 성능이 우수함
- 이미지를 인식하기 위해 패턴을 찾는데 특히 유용함
- 데이터를 직접 학습하고 패턴을 사용해 이미지를 분류함
- 자율주행자동차, 얼굴인식과 같은 객체인식이나 computer vision이 필요한 분야에 많이 사용되고 있음
- 이미지의 공간 정보를 유지한 채 학습을 하게 하는 모델 (1D로 변환하는 것이 아닌 2D 그대로 작업함)
- 사람이 여러 데이터를 보고 기억한 후에 무엇인 지 맞추는 것과 유사함
2. RNN
- Recurrent Neural Network, 순환 신경망
- 순차적 정보가 담긴 데이터에서 규칙적인 패턴을 인식하고 추상화된 정보를 추출함
- 가변성과 선후 관계로 동작하는 어플리케이션을 위한 러닝 모델임
- 앞선 시점들에서의 입력 벡터 속 정보들이 현재 시점의 은닉 벡터에 누적되어 전달됨 (aka. 순환 루프)
- 텍스트, 음성, 음악, 영상 등 순차적 데이터를 다루는데 적합함
- 베니싱 그레디언트 문제가 있어 패턴 학습을 못하는 경우가 있음
- 이를 개선하기 위해 LSTM(Long Short Term Memory)가 개발되었음
- LSTM으로 RNN문제가 어느정도 해결되어 자동 작곡, 작사, 저술, 주가 예측 등 다양한 분야에 적용되고 있음
- 마치 우리가 적성검사의 추론 영역을 푸는 것과 유사함 (과거 데이터를 통해 다음을 추론함)
3. GAN
- Generative Adversarial Network, 생성 대립 신경망
- 비지도 학습 방법으로 학습된 패턴을 이용해 이미지나 음성을 생성함
- Source A와 Source B의 원본 이미지를 합성하여 가짜의 자연스러운 이미지를 생성함
- '딥페이크'가 GAN 기법을 통해 만들어진 기술
http://www.aitimes.com/news/articleView.html?idxno=132830 - 이미지 및 음성 복원에 주로 적용됨
- DCGAN(Deep Convolution GAN)은 불안정한 GAN 구조를 개선해 새로운 의미를 가진 이미지를 생성함
- 누군가를 성대 묘사, 얼굴 묘사하는 것과 유사함
4. RL
- Reinforcement Learning, 강화학습
- 구글의 딥마인드에서 개발한 것으로 관계형 추론을 지원함
- 물리적 사물, 문장, 추상적인 아이디어들 사이에 관계를 파악해 논리적 추론을 할 수 있음
- RN을 이용해 주어진 장면을 학습시키면 테이블 위 여러 개 사각형, 구 등 다양한 모양으로 이뤄진 사물간 관계를 추론할 수 있음
- 지금까지 딥러닝은 분류, 이미지 인식, 음성 인식, 번역, 이미지 생성에만 국한된 한계가 있었음
- RL은 딥러닝 기술을 인간의 사고에 근사한 논리적 추론이 가능한 분야까지 확대시킴
- 정해진 규칙이 없는 관계를 추론 하는 것과 유사함
그리고 'Transformer'라는 방식도 있다. 요즘 뜨고 있는 모델로 다음 시간에 자세히 알아보도록 하자.
이외에도 다양한 딥러닝 신경망 모델이 있다.
더 많은 내용은 아래 링크를 참고하면 좋다.
https://www.asimovinstitute.org/neural-network-zoo/
다음 포스팅에서는 여러 인공 신경망 중에서는 Computer Vision에서 가장 많이 쓰이는 'CNN'에 대해 자세히 다뤄볼 예정이다.
2021.07.11 - [SW programming/Computer Vision] - [딥러닝 모델] CNN (Convolutional Neural Network) 설명
위 글이 도움 되셨다면, 광고 한 번만 눌러주세요.
블로그 관리에 큰 힘이 됩니다:)
감사합니다 \( ˆoˆ )/
'AI | 딥러닝 > Concept' 카테고리의 다른 글
[AI/딥러닝] 딥러닝 모델을 GPU에 구동시키는 방법 (Feat. Framework) (0) | 2021.08.08 |
---|---|
[AI/딥러닝] 객체 검출(Object Detection) 모델의 종류 R-CNN, YOLO, SSD (2) | 2021.08.01 |
[AI/딥러닝] CNN Network layer 모델들 (AlexNet, GoogLeNet, ResNet) (0) | 2021.08.01 |
[딥러닝 모델] CNN (Convolutional Neural Network) 설명 (9) | 2021.07.11 |
[FPGA의 미래] AI와 딥러닝 칩 강자로 FPGA가 각광받고 있다? (0) | 2021.06.18 |
댓글