AI
- 컴퓨터가 인간의 학습, 추론, 문제해결등의 지적능력을 모방하는 것으로 인간수준의 지능을 가지는 것을 목표로한다.
Video turing test
- 인간과 같은 인식을 하는지 실험해보는것으로 대표적예시론 captcha가있다.
필기체 인식 (MNIST)
MNIST
-
Keras : deep learning framework
-
mnist.load_date() 이용하여 로드

-
입력 <,,>의 기댓값(T)를 알고 있다면 Output Layer의 출력값(O)과의 차(T-O)를 계산하여 역전파를 이용해 그 차이를 최소한하는 방향으로 weight를 조정한다.
CNN (Convolutioanl Neural Network)
-
이미지의 패턴을 분석하기 좋은방법이다.
-
특징을 추출하기 위한 layer 집합과 분류하기 위한 layer의 집합이 존재하며 각각 전반부와 후반부에 위치한다.
-
특징 추출을 위해서는 Convolution layer, relu layer, pooling layer을 반복하며 neural network 구조를 쌓아간다.
train, validation, test
train
- 어떤 input 값을 넣었을 때 어떤 output 값이 나와야하는가 학습시키는 단계이다.
- 전체 데이터의 80%정도이다.
test
- 성능을 측저앟기 위한 데이터로 데이터의 20%wjdehdlek.
validation
- 직접 학습에 관여할 뿐 학습을 시키진않는다.
- train과 test 사이의 괴리를 보안하고 성능을 검증하는 기회를 제공한다.
- 검증을 통하여 더 정교해진 모델 구축이 가능해진다.
- 정확도와 손실률을 측정하여 성능을 평가한 후 최적의 결과를 얻을 때까지 반복한다.
sigmoid
- 입력값에 따라 0과 1의 값을 출력하는 s자형 함수이다.
Filtering
Convolution
- 하나의 이미지를 필터된 stack으로 만든 layer
ReLU (Rectified Linear Units)
- 양수인 값은 그대로 나오고 음수는 0으로 변환되어 나온다.
- sigmoid 함수보다 빠르고 은닉층이 많아져 기울기가 0이되는 경사 손실을 덜 발생시킨다.
Pooling
AI Prediction

전제 : AI의 예측이 맞았는가 TRUE, 틀렸는가 FALSE
예측이 긍정이다 POSITIVE, 부정이다 NEGATIVE
Overfitting
- train set은 잘 맞추나 test set은 그러지 못한 현상으로 데이터의 양이 방대해서 예측값이 잘못도출되는 현상이다.
- 방지법
- date augmentation : 가지고있는 데이터셋을 여러방법으로 augment하여 학습 데이터셋의 규모를 키우는 방법이다.
- dropout : 훈련이 반복되는 과정중에 무작위로 해당 레이어의 뉴런을 삭제한다.
- hidden layer 크기를 줄이거나 layer의 개수를 줄인다.