안경잡이개발자

728x90
반응형

CNN(Convolution Neural Network)을 통해 배우는 이미지 인식 인공지능 기술

1. 인공지능 기술 및 CNN의 개요

나동빈


인공지능: 컴퓨터가 인간의 지능을 흉내내도록 하는 기술


  최근의 인공지능 기술은 경험주의에 기반하고 있습니다. 사람이 컴퓨터에게 별도의 지식을 제공하지 않아도 컴퓨터가 데이터로부터 지식을 직접 학습할 수 있다고 보는 관점입니다. 오직 컴퓨터가 데이터라는 경험만을 이용하여 수식(Function)을 찾아냅니다. 실제로 이러한 접근 방법이 최근 딥 러닝(Deep Learning) 기술까지 이어졌습니다.


  현재 인공지능은 데이터로부터 스스로 학습하는 단계까지는 왔다고 말할 수 있지만 초월적인 지능으로 새로운 발견을 하는 단계가 되기까지는 한참 멀었다고 보는 것이 일반적입니다.


※ 머신러닝 인공지능의 분류 ※


1) 지도학습(Supervised Learning): 학습 데이터가 정답 정보인 레이블(Label)을 가지고 있도록 하는 학습 방법입니다.

→ 딥 러닝이 대표적인 예시이며, 우리가 공부하게 될 CNN도 지도학습에 속합니다.


2) 비지도학습(Unsupervised Learning): 학습 데이터가 레이블을 가지고 있지 않도록 하는 학습 방법입니다. 데이터 자체에 들어있는 고유한 특징을 스스로 찾아냅니다.

→ 대표적인 기술로는 비슷한 데이터끼리 묶는 클러스터링(Clustering)이 있습니다.

→ 레이블이 없다는 점에서 지도학습보다 더 난이도가 높은 경우가 많습니다.


3) 준지도학습(Semi-Supervised Learning): 학습 데이터가 어느 정도만의 레이블을 가지고 있도록 하는 학습 방법입니다.


4) 강화학습(Reinforcement Learning): 학습의 정답 유무를 출력하기까지 시간이 필요한 학습 방법입니다. 주로 게임(Game) 인공지능으로 활용됩니다.

→ 바둑(Go) 인공지능과 같은 게임 인공지능이 대표적인 예시이며 전략적인 상황에서 활용도가 높습니다.


※ 컴퓨터 비전(Computer Vision) ※


  컴퓨터 비전 기술은 컴퓨터의 시각(Vision) 요소에 관련한 기술을 연구하는 분야입니다. 증강현실, 문자 인식, 패턴 인식, 얼굴 인식, 이미지 복구, 가상현실 등의 세부 분야가 있습니다. 우리가 공부하게 될 CNN도 대표적인 컴퓨터 비전 분야의 기술입니다.


※ 머신러닝 데이터의 분류 ※


  머신러닝은 인공지능 알고리즘 중 하나이며 대표적인 경험주의적 철학이 반영된 알고리즘입니다. 이러한 머신러닝에서 사용되는 데이터는 다음과 같이 세 가지로 분류될 수 있습니다.


· 훈련 데이터: 모델의 학습을 위해 사용하는 데이터입니다. 예를 들어 특정한 이미지가 주어졌을 때 미리 그 이미지가 '말'에 해당하는지, '소'에 해당하는지 등의 정답 데이터를 준비해놓고 학습을 진행합니다.


· 검증 데이터: 모델의 검증을 위해 사용하는 데이터입니다. 학습이 잘 되었는지 판단하기 위한 중요한 척도가 됩니다.


· 테스트 데이터: 주로 현재 가지고 있지 않은 데이터로 실제로 인공지능 소프트웨어를 운영하면서 만나게 될 데이터를 의미합니다.


  일반적으로 전체 데이터훈련 데이터와 검증 데이터로 나누어서 먼저 훈련을 시키고, 나중에 검증을 하는 방식으로 데이터를 활용합니다. 일반적으로 학습 모델을 표현하고자 할 때는 '신경망 모델(Neural Network Model)'을 이용해 표현합니다. 여러 개의 노드(Node)가 서로 연결되어 있는 그래프 형태로 표현합니다. 대부분의 딥 러닝 알고리즘은 신경망 모델을 이용해 표현됩니다.


※ 학습 모델의 평가 ※


  일반적으로 모델을 평가할 때는 해결하고자 하는 문제에 따라서 다른 모델 평가 방식을 적용할 수 있습니다. 가장 많이 사용되는 평가 방식은 다음과 같습니다.


· 회귀 문제{y - f(x)}^2의 합으로 모델을 평가합니다. f(x)는 각 데이터에 대한 모델의 예측 값을 의미합니다. y는 실제 정답 값을 의미하는데, 제곱을 해주는 이유는 모델이 예측한 값이 얼마나 실제 정답과 거리가 있는지를 양수로 표현하기 위해서입니다.


· 정확도: 전체 테스트 데이터의 개수가 N개 일 때, 정답을 맞힌 테스트 데이터의 개수가 K개라면 K/N이 정확도가 됩니다.


※ CNN(Convolution Neural Network) ※


  일반적인 신경망 기술로는 해결하기 어려운 문제인 '이미지' 문제를 해결하기에 적합한 인공지능 알고리즘입니다. CNN은 1989년 LeCun의 필기체 인식 알고리즘으로 처음 등장하여 2000년대부터 본격적으로 관심을 받아 지속적으로 개선이 이루어지고 있습니다.

728x90
반응형