새로운 블로그로 이전 작업을 진행하고 있어 포스트가 새로 작성되고 있지 않습니다.

빠른 시일 내에 새로운 블로그로 인사드리겠습니다.

새로운 블로그 : https://unho.vercel.app/

본문 바로가기
공부 및 정리/인공지능

인공지능 학습을 위한 기초 학습

by 언호 2022. 3. 4.

📖 인공지능 학습을 위한 기초 학습

인공지능이란?

인공지능(Artificial Intelligence, AI)은 인간의 학습능력, 추론능력, 지각능력을 인공적으로 구현하려는 컴퓨터 과학의 세부분야 중 하나입니다.
다시 말해, 컴퓨터가 인간과 유사한 지능적인 행동을 할 수 있도록 해주는 기법을 연구하는 분야입니다.



인공지능, 머신러닝, 딥러닝

머신러닝은 데이터를 이용하여 컴퓨터가 어떠한 지식이나 패턴을 학습시키는 것을 말합니다.
머신러닝은 인공지능의 다양한 기법들 중 하나로 데이터를 이용하여 컴퓨터를 학습시키는 방법을 말합니다.

딥러닝은 머신러닝의 여러 방법 중 하나로 인공 신경망을 여러겹 쌓아 올려낸 방법을 의미합니다.

전체적으로 보았을때 인공지능의 여러 기법 중 하나로 머신러닝이 존재하고, 머신러닝의 여러 방법들 중 하나로 딥러닝이 존재하게 됩니다.


최근 딥러닝이 이슈가 되고 있는 이유

  • 학습에 용이한 방대한 데이터 (빅데이터)

    머신러닝의 좋은 학습을 위해서는 많은 양의 학습 데이터가 필요했습니다.
    이전에는 학습을 위한 데이터가 부족하였지만, 시대의 흐름에 따라 많은 데이터를 구하기 쉬워져 학습을 시키기 수월해졌습니다.

  • 하드웨어의 발전 (GPU 발전)

    학습을 할때 학습 시간이 필요합니다.
    이전에 하드웨어가 좋지 않아 매우 긴 시간이 필요하였지만, GPU를 이용한 병렬 처리 연산이 발전하게 되어 많은 양의 데이터 학습을 비교적 빠른 시간에 처리 할 수 있게 되었습니다.

  • 새로운 딥러닝 알고리즘

    많은 데이터를 빠른 시간에 학습하더라도 오버피팅과 같은 문제로 인해 머신러닝 알고리즘이 좋은 성능을 보여주지 못했습니다.
    이러한 문제 해결을 위해 ReLUDropout과 같은 여러 방법들이 나타나게 되었습니다.


학습 데이터 특징 추출

머신러닝 이전에 다른 기법들은 학습하는 데이터의 특징들을 연구자들이 직접 구해내고, 추출하였습니다.
이렇게 연구자들이 직접 데이터의 특징을 추출해낸 방법을 Hand-Crafted Feature 라고 합니다.

그러나 머신러닝은 학습하는 과정에서 자동으로 데이터의 특징들이 추출되기 때문에 Learned Feature 라고 합니다.


딥러닝의 데이터 특징 추출

딥러닝 알고리즘은 인공신경망을 여러겹으로 쌓아 올리게 됩니다.
여러겹으로 쌓아 올려 입력된 데이터들의 특징을 각 층의 단계별로 학습할 수 있다는 장점이 있습니다.

대표적인 학습들 중 하나로 이미지 학습을 예를 들어 어떠한 이미지 데이터가 입력이 되면, 낮은 층의 인공신경망에서 픽셀의 선, 밝기저차원 특징을 학습하게 됩니다.
이후 높은 층의 인공신경망에서는 사람의 눈, 코, 입과 같은 고차원 특징을 학습하게 됩니다.

이러한 여러 층들이 각 특징을 학습하여 출력층에서 결과물을 판단하게 됩니다.



머신러닝의 학습 방법에 따른 분류

지도 학습

지도 학습은 입력 데이터와 정답 데이터가 존재하는 학습 방법으로 입력하는 데이터 x정답 레이블(label) y가 하나의 쌍이 되어서 학습하게 됩니다.
이러한 데이터로 학습을 한 이후 정답 레이블(label)이 지정되지 않은 테스트 데이터를 이용하여 학습된 알고리즘이 얼마나 정확하게 데이터를 예측하는지 확인 할 수 있습니다.

예측하는 결과값이 이산값이라면 분류 문제이고(숫자가 1? 2? 3?), 연속값이라면 회귀 문제(몇개월 이후 주식의 가격은?)입니다.

지도 학습으로 주로 사용되는 구조는 Convolutional Neural Networks (CNN), Recurrent Neural Networks (RNN) 입니다.


비지도 학습

지도 학습과 다르게 정답 레이블y 없이 입력 데이터 x만을 이용하여 학습하는 알고리즘입니다.
비지도 학습은 데이터에 숨겨진 특징을 찾아내는데 목적을 두고 있습니다.
단독으로 사용하기 보다 비지도 학습으로 파악한 데이터의 특징을 원본 데이터 대신 지도 학습의 입력 데이터로 활용하여 지도 학습의 성능을 더욱 끌어올리는 용도로 사용됩니다.

비지도 학습의 방법론으로는 주성분 분석 Principal Component Analysis (PCA) 이 있고, 딥러닝에서 비지도 학습을 위해 많이 사용되는 구조는 오토인코더 Autoencoder 입니다.


강화 학습

지도 학습과 비지도 학습은 입력 데이터가 이미 정해진 정적인 상태로 학습을 하였습니다.
그러나 강화 학습은 어떠한 환경에서 행동에 따라 보상이 주어져 이 보상을 최대화 하도록 학습을 진행하게 됩니다.

동적인 상태에서 데이터를 수집하는 과정까지 학습 과정에 포함되어 있는 알고리즘입니다.

강화 학습의 알고리즘으로는 Q-Learning이 있고, Q-Learning과 딥러닝을 결합한 Deep-Q-Network (DQN)이 있습니다.



딥러닝 분야

컴퓨터 비전 Computer Vision

컴퓨터 비전은 인간의 시각과 관련된 부분을 컴퓨터 알고리즘을 이용하여 구현하는 방법을 연구하는 분야입니다.
이미지 분류 (Image Classification), Semantic Image Segmentation, 물체 검출 (Object Detection) 등이 대표적입니다.
컴퓨터 비전 문제를 위해 딥러닝의 여러 구조 중 CNN (Convolutional Neural Networks) 이 많이 사용됩니다.

자연어 처리 Natural Language Processing (NLP)

자연어 처리는 인간의 언어와 같은 자연어를 컴퓨터가 이해할 수 있는 형태로 만드는 방법을 연구하는 분야입니다.
문장 분류 (Text Classification), 이미지 캡셔닝 (Image Captioning), 기계 번역 (Machine Translation), 챗봇 (Chatbot) 등이 대표적입니다.
자연어 처리를 위해서는 RNN (Recurrent Neural Networks) 구조가 많이 사용됩니다.

음성 인식 Speech Recognition

음성 인식은 음성 데이터가 표현하는 문장이 어떤것인지 인식하는 방법을 연구하는 분야입니다.
소리를 글자로 바꾸어준다 하여 Speech-To-Text (STT) 라고 불리기도 합니다.

게임 Game

게임은 인공지능의 성능을 측정하기 위해서 널리 사용되었습니다.
게임 인공지능 구현을 위해서 강화 학습을 이용합니다.
강화 학습과 딥러닝을 결합한 DQN (Deep-Q-Network) 기법이 주목 받고 있습니다.

생성 모델 Generative Model

생성 모델은 학습 데이터의 분포를 학습하여 학습한 분포로부터 새로운 데이터를 생성하는 모델입니다.
Generative Adversarial Networks (GAN) 구조가 나온 이후 생성 모델 기법이 주목을 받고 있습니다.
학습 데이터의 양을 늘려 분류기의 성능을 높이는 데이터 증대 기법 등에 생성 모델 기법을 응용 할 수 있습니다.




📚 참고자료

댓글