인공지능
은 간단히 인간의 지능을 모방해 사람이 하는 일을 기계가 할 수 있게 하는 기술이다
인공지능과 머신러닝 딥러닝 관계는 인공지능 > 머신러닝 > 딥러닝
.
딥러닝과 머신러닝은 학습 모델을 제공해 데이터를 분류 할 수 있는 기술이지만 접근 방식에서 차이가 있다```
머신러닝
- 데이터를 인간이 먼저 처리한다
- 이미지 데이터라면 사람이 학습 데이터를 컴퓨터가 인실 할 수 있도록 준비해줘야 한다.
- 머신러닝은 범용적인 목적을 위해 제작되어 데이터의 특징을 스스로 추출하지 못해
이 과정을 사람이 처리해줘야 한다.- 각 데이터 특성을 컴퓨터에 인식시키고 학습시켜 문제를 해결
딥러닝
- 인간이 하던 작업을 생락하고, 대량의 데이터를 신경망에 적용해 컴퓨터가 스스로 분석한 후 답을 찾게 한다.
구분 | 머신 러닝 | 딥러닝 |
---|---|---|
동적원리 | 입력 데이터에 알고리즘을 적용해 예측 | 정보를 전달하는 신경망을 이용해 데이터 특징 및 관계 해석 |
재사용 | 입력 데이터를 분석하기 위해 다양한 알고리즘을 사용하고 동일한 유형의 데이터 분석을 위한 재사용은 불가능. | 구현된 알고리즘은 동일한 유형의 데이터를 분석하는데 재사용 가능 |
데이터 | 일반적으로 수천개의 데이터 필요 | 수백만개의 데이터 필요 |
훈련시간 | 단시간 | 장시간 |
결과 | 일반적으로 점수 or 분류 등 숫자 값 | 출력은 점수, 텍스트, 소리 어떤 것이든 상관없이 가능 |
머신러닝
은 컴퓨터가 스스로 대용량 데이터에서 지식이나 패턴을 찾아서 학습하고 수행하는 것으로 즉 컴퓨터가 학습을 할 수 있도록 알고리즘과 기술을 개발하는 분야라고 할 수 있다.머신러닝의 주요 구성요소는 데이터와 모형이다.
좋지 않은 데이터
를 가지고 현상의 특성을 반영해 학습하기 어렵기 때문에
특징이 잘 반영되고 편향되지 않은 훈련데이터를 확보하는 것이 중요하다.
학습에 필요한 데이터가 수집이 되면 훈련데이터셋
과 테스트 데이터셋
용도로 분리해 사용한다.
모델
은 머신러닝의 학습단계에서 얻은 최종 결과물로 가설이라고도 불린다.
모델의 학습 절차
는 1. 모델 선택
-> 2. 모델학습 및 평가
-> 3. 평가를 바탕으로 모델 업데이트
를 반복하면서 주어진 문제를 잘 풀 수 있는 모델을 찾는다.
특징
(예시 : 날개를 가지고 있는 동물)이비슷한 데이터
(예시 : 비둘기, 독수리) 를 클러스터링(범주화)
하여 예측하는 학습기법비지도 학습
은 유사도 기반으로 특징이 유사한 데이터끼리 클러스터링으로 묶어서 분류한다.게임
쿠키런
을 예시로 했을 때, 쿠키가 Agent이며 게임 배경이 환경(environment)이다.덜 배움.
수상돌기
: 주변이나 다른 뉴런에서 자극을 받아들이고, 이 자극들을 전기적 신호 형태로 세포체와 축삭돌기로 보내는 역활
시냅스
: 신경세포들이 이루는 연결부위. 한 뉴런의 축삭돌기와 다른 뉴런의 수상돌기가 만나는 부분.
축삭돌기
: 다른 뉴런에 신호를 전달하는 기능을 하는 뉴런의 한 부분. 한개만 존재
축삭말단
: 전달된 전기 신호를 받아 신경 전달 물질을 시냅스 틈새로 방출
초보라면 텐서플로나 케라스에서 제공하는 데이터셋을 사용하는 것이 좋다. 데이터들이 전처리가 되어 있는 상태여서 바로 사용할 수 있고, 많은 예제코드를 쉽게 얻을 수 있기 때문이다.
모델 정의 단게에서 신경망을 생성. 일반적으로 은닉층 개수가 많을 수록 성능이 좋아지지만 과적합이 발생될 확률이 높다. 따라서 모델 정의 단계에서 신경망을 생성할 때 제대로 생성하는 것이 좋다.
활성화 함수, 손실 함수, 옵티마이저를 선택한다. 이때 데이터 형태에 따라 다양한 옵션이 가능. 훈련 데이터셋 형태가 연속성이라면 평균 제곱(MSE)를 사용할 수 있고, 이진 분류라면 크로스 엔트로피를 선택한다. 과적합을 피할 수 있는 활성화 함수 및 옵티마이저 선택이 중요하다.
훈련 단계에서는 한 번에 처리할 데이터 양을 지정한다. 이때 한번에 처리해야 할 데이터가 많으면 학습속도가 느리고 메모리 부족이 될 수 있어 데이터 수를 적당하게 선택하는 것이 중요하다.
- 훈련 데이터셋 1000개에 대한 배치 크기가 10이라면 샘플단위 10개마다 모델의 가중치를
따라서 전체 훈련 데이터셋에서 일정한 묶음으로 나눠 처리할 수 있는 배치와 에포크 선택이 중요하고, 이 훈련 과정에서 값의 변화를 시각적으로 표현해 눈으로 확인하면서파라미터
와하이퍼파라미터
에 대한 최적의 값을 찾을 수 있어야 한다.
✔️ 파라미터 = 모델 내부에서 결정되는 변수
✔️ 하이퍼파라미터 = 튜닝 또는 최적화해야하는 변수로 사람들이 선험적 지식으로 설정해야 하는 변수
한번씩 업데이트 시킨다는 의미로 총 100번(1000/10)의 가중치가 업되이트 된다.
이때 에포크가 20이고 배치크기가 10이라면. 가중치를 100번 업데이트 하는 것을 총 20번 반복한다는 의미이다. 각 데이터 샘플이 총 20번씩 사용되기에 가중치가 총 2000번 업데이트 된다.
검증 데이터셋을 생성한 모델에 적용해 실제로 예측을 진행해보는 단계.
이미지 또는 비디오상의 객체를 식별하는 컴퓨터 비전 기술
컴퓨터 비전기술에서 가장많이 사용되는 합성곱 신경망(CNN)
은 목적에 따라 이미지 분류, 이미지 인식, 이미지 분할로 분류 가능.
이미지 분류
: 이미지를 알고리즘에 입력하면 그 이미지가 어떤 클래스에 속하는지 알려주기에 이미지 데이터를 유사한 것끼리 분류할 때 사용.
이미지 인식
: 사진을 분석하여 사진 안에 있는 사물의 종류를 인식하는 것.
이미지 분할
: 영상에서 사물이나 배경 등 객체 간의 영역을 픽셀 단위로 구분하는 기술.
- 이미지 인식
시계열 데이터를 분류할 때 사용되는 `순환 신경망(RNN)
주식 데이터와 같이 시간 별 데이터가 있을 때 사용하긴 하지만 역전파 과정에서 기울기 소멸 문제가 발생하는 단점.
따라서 3개의 게이트. 망각 게이트(과거 정보를 잊기 위한 게이트), 입력 게이트(현재 정보를 기억하기 위한 게이트), 출력 게이트(최종 결과를 위한 게이트)를 추가하여 위의 기울기 소멸 문제를 해결한 것이LSTM
이다