* 본 포스팅은 한국품질재단에서 주최하는 인공지능개발자 양성사업 교육과정 복습 용도로 포스팅되었습니다.
* 신경망의 종류(xxxNN)
* 전통적인(오래된) 일반적인 신경망 -> 예측
* CNN
- 컨볼류젼(합성곱) 뉴럴 네트워크
- 영상 처리에 탁월
- 결과 : 이 이미지는 XXX이다.(정확도 x%) -> 분류
- 종류
- 이미지 한장에서 사물 한 개를 인식
- 사각형 검출
- cloud.google.com/vision
- aws, azure, watson
- 이미지 한장에서 여러 개의 물체를 인식(검출)
- object_detection
- https://github.com/tensorflow/models/tree/master/research/object_detection
- Yolo(욜로), fast CNN,...
- openCV 병행
- 이미지 한장에서 여러 개의 물체를 모양에 따라 인식(shape)
- 사물의 외곽선 따라서 검출
- 테슬라의 자율주행이 사물을 인식하는 방법
- 초해상
* RNN
- 순환(재귀적) 뉴럴 네트워크
- 기존신경망 + 시퀀스(시간 개념(시계열), 순서)
- 난이도가 높다.
- 종류
- 자연어 처리
- 문서 분류, 대화문 작성, 챗봇, 기계 번역, 문서 요약
- 동영상 분류
- 음성 인식 :
- 음성 합성, 음악 생성 (생성 모델과 결합)
- 음성 합성
- 음악 생성
- 시계열
- 머신러닝 > 회귀
- 통계 > ARMIA, AR, MA, ARMA 모형
- 딥러닝 > RNN-LSTM, RNN-GRU 모델
- 써드 파트 > facebook Prophet 모델
- RNN의 구성 방식(입력-to-출력)
- one-to-many
- 하나의 입력을 넣어서 여러 개의 출력이 나옴
- 이미지 캡션, 이미지를 보고 텍스트 출력
- many-to-one
- 여러 개의 입력을 넣어서 한개의 출력
- 감정분석, 스팸메일
- many-to-many
- 여러개 넣어서 여러개 출력
- 기계 번역, 챗봇
* 생성 모델형 신경망 -> 창조
* GAN
- 적대적 생성 네트워크
- DCGA, DEGAN, GAN...
- 데이터 창조하는 분야
- 딥 훼이크(이미지, 영상, 보이스, 사운드), 채색(흑백-> 칼라 복원), 이미지 -> 화풍 -> 생성
* CAE
- 수치, 백터로부터 이미지 생성
- 노이즈 제거
* 강화 학습
* DQN
- 게임 알고리즘, 게임성 강조
- 1 에피소드 -> 게임 한판
- 전체
- 요소 정의
- 에이전트, 환경, 액션, 정책, 갱신, 보상..
- 가장 핵심은 게임판은 만들고 룰(정책) 구성
- 알파고 -> 알파고 제로 -> 알파 제로 -> 알파 스타/알파폴드
- 에이전트를 학습시키는 것이다(에이전트 : 애완동물) 잘하는 행동에 대해서는 보상 지급 -> 행동을 강화하여 -> 원하는 내용을 학습시키는 방식
* 퍼셉트론
- 개요
- 1957년
- 기계학습의 기초 개념
- 단순 퍼셉트론
- 입력층, 출력층이 존재한다
- 입력이 x0, x1, x2.. 존재한다.
- 출력은 y 가 있다.
- 여러 개의 입력을 출력 y에 수렴하게 하고 싶다.
- 어떤 입력이 출력에 영향을 얼마큼 미치는가?
- 예시
- 2021.09. 중순쯤에 애플에서 신제품 출시한다
- 아이폰 13 시리즈, M1X 기반 맥북 14, 16인치, 출시 예정
- 당신은 구매할 것인가?
- 출력 : (구매, 비구매)
- 입력 : 구매 결정에 영향을 미치는 요소
- x0 : 현재 사용하는 노트북이 구형이야. 이제 바꿔야 겠어 너무 느려?
- x1 : 노트북의 화면이 너무 작아?
- x2 : 노트북에서 맥이 안돼?
- x3 : 돈이 충분히 있는가?
- .....
- 다수결로 결정할 건인가?
- 아무리 다수결로 선택을 하더라고, 만약 돈이 부족하면 -> 다수결은 의미가 없게 된다 -> 의사결정은 구매인데, 실제적으로 구매를 못함
- 입력 요인별로 가중치가 다르다!!(무게감이 다르다) => 입력 요인별로 가중치를 계산(W:Weight)
- 구매 요인은
- W0X0 + W1X1 + W2X2 +..... + WnXn
- 구매를 결정하는 역치(임계값, C, threshold)라고 한다면
- if 구매한 요인의 값 > C : 구매한다(수렴)
- 이렇게 다양한 입력 요인들을 구성(조합)하여 보다 좋은 올바른 판단을 내릴 수 있다 -> 예측 정확도가 높이 진다
- 이런 예측 결과를 내기 위한 W(가중치)를 계산하는 과정이 딥러닝의 학습의 본질이다
- y = Wx + b (bias : 편향)
- W, x, b => 행렬로 표현된다
- Wx => 행렬의 곱
* sigmoid -> 활성화 함수
- X에서 Y로 잘 수렴하기 위해서(정확도를 높이기 위해, 올바른 결정을 하기 위해)
- 수많은 학습을 통해서 최적의 W, b를 찾는 과정, -> 딥러닝 학습 -> 모델을 학습시켰다.
- 모델 -> 덤프 -> 서비스에 이식 -> 요청이 있을 때 모델이 작동 -> 결과를 내준다.
=> y = sigmoid( x + W + b )
* 신경망(NN)
- 인간의 뉴런을 본떠서 만든 것인 인공 신경망
- 작용 : 활성화 함수를 통과하면 값이 조정된다.(값의 조정, 선형 데이터를 비선형으로 처리해주는 역할 -> 깊이감을 주기 위해)
- 뉴런 : X-> Y
- 기본 뉴런의 구조에서 중간이 layer(층)을 더 넣어서 깊이감을 주고, 이를 통해 어떤 정보를 더 많이 검토할 수 있게, (학습) 신경망을 구성할 수 있다. -> 정확한 예측을 할 수 있다.(논문, 연구, 성과)
- 은닉층 1개 -> ANN
- 은닉층 2개 이상 -> Deep NN(DNN)
- 이러한 레이어를 설계 -> 네트워크 설계, 구축
'Machine Learning' 카테고리의 다른 글
[딥러닝] 딥러닝이란? 2 (0) | 2021.09.01 |
---|---|
[딥러닝] 딥러닝이란? 1 (0) | 2021.09.01 |
[백견불여일타 딥러닝 입문 : 학습 5일차] (0) | 2021.01.30 |
[백견불여일타 딥러닝 입문 : 학습 4일차] (0) | 2021.01.30 |
[백견불여일타 딥러닝 입문 : 학습 3일차] (0) | 2021.01.30 |