인공지능 알고리즘(AIDE 2급 자격시험 대비 요점정리)
인공지능 알고리즘
딥러닝의 표현방식
가. 딥러닝 : 기계가 자동으로 대규모 데이터에서 패턴과 규칙을 학습하는 것, 다층 인공 신경망(ANN)을 사용하며 머신러닝 학습을 수행하는 것 → 의사결정, 예측
2. 딥러닝의 구조
1) 인공신경망과 딥러닝의 차이점 : 은닉층의 구조가 다름(딥러닝은 하나 이상의 은닉층)
ANN(Artificial Neural Network) : 여러층을 가진 인공신경망
2) ANN의 층 : 입력층, 은닉층, 출력층
3. 딥러닝의 동작원리
1) 학습 데이터 입력 : 인공지능 라이브러리인 텐서플로에서 제공되며 약 7만개의 데이터로 훈련(train) : 평가(test) 에 8:2로 나누어 사용
2) 훈련(train) : 반복해서 시행하여 오류 제거(에포크 epochs : 학습셑의 반복회수)
3) 시험셋 test : 1번 시행, 시험셋(지난 실제 데이터)으로 평가(예측 predict)
4) 실제 데이터로 평가
4. 인공지능 프로그램의 개발 절차
가. 1단계 : 전문가가 제작한 라이브러리 읽어 들이기, 개발 시간과 비용 절약
나. 2단계 : 데이터 읽고 전처리하기
다. 3단계 : 신경망 만들기(인공지능 라이브러리 이용)
라. 4단계 : 모델 만들기 및 학습 : 라벨링 데이터 이용, 인공지능 학습
마. 5단계 : 모델 적용하기 및 예측, 실제 데이터로 성능확인
* 2-4단계 : 데이터 사용
* 3, 5단계 : 인공지능 개발 단계
5. 인공지능 객체검출 방법
가. 객체수 검출
1) single object → 분류(clasfication)와 객체의 위치정보 확인(localization)
- 객체의 위치정보 확인(localization) : box 형태로 지정(bounding box)
2) multi object → 여러개의 객체 검출(object detection) : 학습한 여러 개체를 인식하고 바운딩 박스와 서로 다른 색으로 영역 표시
- 학습 되지 않은 개체는 못찾음
3) 세그멘테이션(segmentation) : instance segmentation(의미적 분할) 객체인식에서 의미있는 단위로 분할(이미지 뜯어내기), 정교하고 복잡한 인공지능 구현(자율 주행 등), 데이터 라벨링도 세그멘테이션으로 제작해야 함
6. 핵심 딥러닝 알고리즘
가. CNN(convolutional neural network, 합성곱 신경망) : 데이터 특징을 분석하여 패턴을 파악(콘볼루션과 폴링 과정으로 진행), 사진, 영상처리에 사용
나. RNN(recurrent neural network, 순환 신경망) 알고리즘 : 은닉 계층의 출력이 자기 계층의으로 돌아 오기도 하는 신경망, 시계열 정보처리, 음성 웨이브 폼 등
다. GAN(generative adversarial network 생산적 적대 신경망) : 신경망이 2개로 신경망끼리 경쟁하여 최적화 수행, 무한 가짜 데이터 생성망과 판별망으로 구성, 여러번의 비교 판별과정에서 점차 진짜와 비슷한 데이터로 변환, 이미지 생성 복원 등에 이용 ,