기록하는 공부
[AICE Basic] #1 AI의 이해 본문
※ 본 포스팅은 AICE Basic 종합 패키지를 수강하고 복습하기 위해 필자가 임의로 작성한 글입니다.
AI의 정의
알파고, 로봇청소기, 영상 인식 등 우리 주위의 이미 AI은 많이 있다.
한번 AI와 관련된 단어들을 떠올려보자.
AI라는 단어를 떠올려봤을 때 아래와 같은 단어들을 연상시킬 수 있다.
지도학습 딥러닝 GPU CNN AI모델 빅데이터
머신러닝 회귀 비지도학습 데이터 전처리
알고리즘 인공신경망 validation 강화학습 과적합
그렇다면 정확한 AI의 정의는 무엇일까?
AI는 Aritificial Intelligence의 약자로 인공지능이라고도 하며, 사람을 닮은 기계라는 의미에서 시작되었다.
정확한 정의로는 알고리즘으로 데이터를 학습(Train)하여 모델을 만드는 기술을 말한다.
데이터(Input Data)를 알고리즘(머신러닝, 딥러닝)에 대입하면 이에 맞는 모델이 나온다고 볼 수 있다.
AI 용어 및 요소
AI가 주목받는 이유는 무엇일까 ?
크게 세 가지 이유로 생각해 볼 수 있다.
첫 번째로, 빅데이터 시대가 도래된 배경이 있다.
SNS나 블로그, 검색 등을 통하여 양질의 데이터가 폭발적으로 증가되면서 AI가 주목받게 되었다.
두 번째로, 컴퓨팅 기술의 발전이 있다.
GPU나 클라우드의 발전으로 과거와 달리 기술이 발전하면서 AI 기술이 발전되었다.
세 번째로, AI 기술 및 알고리즘 공유 문화가 퍼지게 되면서 더욱더 발전하게 되었다.
이에 대해 알아보자.
AI 개발 도구에는 뭐가 있을까 ?
크게 프레임워크, 프로그래밍 언어, AI모델링 자동화 플랫폼, 오픈소스 라이브러리가 있다.
먼저 프로그래밍 언어는 R과 함께 파이썬이 인기가 많다.
파이썬은 배우기 쉽고 단순하다는 특징이 있다.
다음은 오픈소스 라이브러리이다.
오픈소스 라이브러리에는 NumPy와 pandas가 있다.
NumPy는 주로 수치와 관련된 기능을 모아놓은 라이브러리,
pandas는 테이블과 관련된, 쉽게 생각하면 엑셀과 같은 기능을 모아놓은 라이브러리라고 할 수 있다.
프레임워크는 TensorFlow, Keras, PyTorch 등이 있다.
TensorFlow는 구글에서 제공하는 딥러닝 라이브러리이고
이에 대적해 페이스북에서 제공하는 PyTorch가 있다.
딥러닝을 사용하기 쉽도록 파이썬으로 구성한 Keras도 있다.
마지막으로 AI모델링 자동화 플랫폼이다.
이는 개발자가 아니더라도 클릭기반의 모델링을 할 수 있도록 도와주는 플랫폼이다.
maum.ai나 AIDU ez, SAMSUNG SDS Brightics AI, Ai Suite가 있다.
AI 구현을 위한 3가지 요소에 대해 알아보자.
첫 번째로, 알고리즘이 있다.
알고리즘이란 컴퓨터가 따라 할 수 있도록 문제를 해결하는 절차나 방법을 자세히 설명하는 과정을 말한다.
크게 머신러닝과 딥러닝이 있다.
머신러닝(Machine Learning)은 특정 부분을 스스로 학습해 성능을 향상시킨다.
딥러닝(Deep Learning)은 인간의 뉴런과 비슷한 인공신경망으로 정보를 처리한다.
간혹, AI와 머신러닝, 딥러닝을 같다고 볼 수 있지만 그렇지 않다.
인공지능은 아래와 같이 구조도를 나타낼 수 있다.
AI ⊃ 머신러닝 ⊃ 딥러닝
두 번째로, 데이터가 있다.
세 번째로, GPU가 있다.
머신러닝
머신러닝은 3가지의 학습 방법이 있다.
바로 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning)이다.
지도학습이란 기계가 이미 정답이 있는 데이터 기반으로 사람이 정해준 정답의 방향으로 학습하는 방법을 말한다.
따라서 대량의 데이터를 제공받을수록 더 효율적인 학습이 이루어질 수 있다.
비지도학습이란 기계가 정답이 없는 데이터 집합에서 데이터의 특성을 분석하여 군집화하는 학습 방법이다.
만약 데이터의 발생환경이나 텍스트 환경이 일관적이지 않는 경우에는 정확한 학습이 이루어지기 어렵다.
따라서 정확한 학습환경이 마련되는 것이 중요하다.
지도학습은 정답이 필요하지만 비지도학습은 정답이 필요하지 않다는 점이 특징이다.
강화학습이란 학습과정에서 정답을 도출할 경우 보상을 주어 정답을 도출할 가능성이 높은 방법이다.
각각의 학습에 대해 좀 더 알아보자.
지도학습은 입력(Feature, X)과 출력(Label, Y) 데이터로 학습한다.
예를 들어, 만약 입력값으로 사과 이미지를 넣고 출력값으로 '이건 사과야'라는 데이터를 모델에 학습시키면
나중에 모델이 사과 이미지를 입력받았을 때 '이건 사과야'라는 값을 출력할 수 있다.
지도학습에는 두 가지 종류가 있다.
[예측(Predict)] = 분류(Classification), 회귀(Regression)
결과를 출력할 때 결과가 범주형인 경우에는 분류, 수치형인 경우에는 회귀라는 용어를 사용한다.
분류의 경우에는 색깔과 같이 Red, Green, Blue와 같이 범주형 데이터를 출력한다.
회귀의 경우에는 몸무게가 X인 사람의 키와 같이 수치형 데이터를 출력한다.
지도학습을 통해 모델을 만드는 절차에 대해 알아보자.
1. 정답이 있는 데이터 수집(Labeled observations)한다.
2. Training set과 Test set으로 구분 (보통 8:2 또는 7:3 정도로 나눔, 중복 주의)
3. Training set으로 머신을 학습시킨다.
4. Test set으로 머신의 결과값을 얻고 알고리즘 정답과 비교하여 모델을 평가한다.
평가항목에는 여러 가지가 있지만
일반적으로 얼마나 잘 맞췄는지에 대한 정확도와 얼마나 차이가 있느냐를 보는 오차율이 대표적이다.
지도학습은 학습할 데이터와 정답을 함께 제공해 준다.
이와 달리 비지도 학습은 출력데이터(Label, Y, 정답) 없이 입력데이터만 주고 패턴으로 학습하는 것을 말한다.
이를 군집화(Clustering)이라고 한다.
따라서 학습할 데이터만 제공하고 스스로 데이터의 특성(패턴이나 구조 등)을 파악하여 결과를 분류한다.
예를 들어 사과, 바나나, 복숭아를 입력값으로 제공했을 때
비지도 학습에 경우 데이터의 특성을 스스로 파악하여 색깔별로 사과, 복숭아, 바나나를 구별하는 등의 출력값을 도출할 수도 있다.
강화학습은 특정 행동(Action)을 시행하고, 상/벌(Reward)에 따라 해야 할 행동을 학습한다.
각 학습을 정리하면서 비교해 보자.
지도학습 | 비지도 학습 | 강화학습 | |
학습데이터 | labeled past data | unlabeled past data | Dynamic current data |
환경피드백 | direct | none | direct (rewards) |
응용분야 | 분류, 회귀 -> 위험 평가, 예측 |
군집화, 연관 -> 상품추천, 특이사항 탐지 |
바둑, 게임, 자율주행자동차, 드론 |
딥러닝
딥러닝은 뇌의 정보처리방식을 모사한 "인공신경망"과 유사하게
여러 층(Layer)으로 깊이 있게(Deep) 구성하여 학습을 진행한다.
여기서 인공신경망은 Aritificial Neural Network의 약자로 ANN이라고도 한다.
딥러닝은 중요한 Feature에 가중치(Weight)를 부여하여 학습한다.
아래 사진에서 각 동그라미 하나가 뉴런이라고 보면 된다.
인공신경망에서는 이 동그라미를 노드(node)라고 한다.
딥러닝의 대표 알고리즘 몇 가지를 알아보자.
먼저 DNN(Deep Neural Network)이 있다.
DNN은 입력층, 여러 개의 은닉층, 출력층으로 구성된
(히든 레이어가 두 개이상인 인공신경망) 가장 일반적인 모형을 말한다.
다음은 Convolutional Neural Network의 약자인 CNN으로 합성곱신경망이라고 불리는 알고리즘이 있다.
CNN은 지역별 Feature를 뽑아서 학습하는 분야에 특화되어 있다.
그리고 Recurrent Neural Network의 약자로 순환신경망이라고도 하는 RNN이 있다.
RNN은 자신의 출력을 다시 입력으로 활용하며 순서가 있는 데이터 학습에 특화되어 있다.
예를 들어, 주가와 같은 시계열 예측이나 문장 처리 등에 활용된다.
마지막으로 Generative Adversarial Network의 약자로 GNN이 있다.
GNN은 생성적 적대 신경망이라고도 한다.
이 알고리즘은 두 신경망 모델의 경쟁을 통해 학습한다.
아래 사진을 참고하여 이해해 보자.
위 사진처럼 위조지폐범과 그 위조지폐범을 잡는 경찰이 있다.
위조지폐범은 계속해서 실제 지폐와 같은 위조지폐를 만드려 할 것이고
경찰은 만들어진 위조 지폐를 실제 지폐와 비교하면서 계속 문제가 되는 지폐를 찾아낼 것이다.
이렇게 서로 경쟁적으로 학습시키는 모델이다.
대표적인 이용 예시로는 흑백사진을 복원하거나 영상학습에 많이 사용된다.
그렇다면 딥러닝의 장·단점을 알아보자.
딥러닝의 장점은 Feature 추출을 기계가 직접, 알아서 하기 때문에 편하다.
그리고 정확도가 매우 좋다는 특징이 있다.
단점은 과적합(Over-fitting)이 있다.
학습데이터에만 잘 맞는 경우에 발생하여 테스트 데이터를 넣었을 때 정확도가 확 떨어지는 결과가 발생할 수 있다.
그리고 복잡한 로직으로 학습시간이 증가될 수 있다.
또 딥러닝은 Feature 추출을 기계가 직접, 알아서 하기 때문에 편한 것이 장점이었지만
기계가 알아서 하기 때문에 사람은 그 처리과정에 대한 설명이 어렵다는 단점이 있다.
이제 AI 핫 키워드에 대해 알아보자.
먼저 NLP가 있다.
NLP는 Natural Language Processing의 약자로 자연어인식/처리를 의미한다.
NLP에서 가장 많이 사용되는 알고리즘은 구글에서 공개한 BERT와 Ko-BERT가 있다.
다음은 영상인식/처리를 의미하는 Computer Vision이 있다.
사람의 시각체계를 컴퓨터 구현한 것으로 볼 수 있다.
가장 많이 쓰이고 있는 분야로는 자율주행자동차가 있다.
마지막으로 말과 관련된 음성인식/처리에 관한 STT(Speech to Text)와 TTS(Text to Speech)가 있다.
인공지능 스피커나 챗봇, AICC 등에서 이미 많이 사용되고 있다.
AI 업무 적용 프로세스
AI를 업무에 적용하는 프로세스는 5가지 단계로 나타낼 수 있다.
1. 문제 정의
2. 데이터 수집
3. 데이터 분석 및 전처리
4. AI 모델링
5. AI 적용
문제 정의 단계에서는 AI를 활용해서 얻고자 하는 것이 무엇인지 정의하는 목적과 목표를 세우는 단계이다.
이 단계를 통해 목적과 목표에 따라 어떤 AI 모델을 만들 것인지 선택이 가능하다.
다음은 데이터 수집 단계이다.
데이터 수집 단계에서는 가능한 많고, 깨끗한 데이터가 필요하다.
데이터가 편향되거나 손실된 경우에는 정확하지 않은 학습이라고 할 수 있다.
데이터 분석 및 전처리 단계에서는 중요한 것을 찾아서 준비해야 한다.
전 단계에서 수집한 데이터들이 내가 찾고자 하는 값인지, 어떻게 구성되어 있는지를 확인한다.
그리고 값들이 기계가 이해할 수 있도록 범주형인지 수치형인지, 빈값은 제거할 것인지 대체할 것인지,
기계는 문자를 이해하지 못하기 때문에 문자로 구성된 값은 숫자로 바꾸어주는 작업들이 이 단계에서 이루어진다.
데이터 분석에서 상관관계라는 것이 있다.
상관관계는 의미 있는 데이터는 무엇인가, 데이터의 분포와 관계가 어떠한지에 따라
내가 찾고자 하는 값에 관련이 없는지 확인할 수 있다.
데이터 전처리는 사전 준비단계라고 볼 수 있다.
사람이 보는 데이터를 기계가 이해할 수 있도록 바꿔줘야 한다.
범주형인지 수치형인지에 따라 문자를 숫자로 바꿔주고
결측치를 어떻게 처리할지 정해야 한다.
예를 들면 빈 값을 제거할 것인지 혹은 대체할 것인지가 있다.
그리고 AI 모델링 단계가 있다.
이렇게 수집한 데이터들을 어떤 알고리즘을 사용해 학습시킬 것인지 정하는 단계이다.
이 단계에서는 선택과 반복이 중요하다.
학습유형은 지도학습/비지도학습/강화학습 중에서 선택하고
알고리즘은 머신러닝/DNN/CNN/RNN 중에서 선택하고
개발도구는 Scikit-learn/Tensorflow/AIDU ez 중에서 고르는 등의 작업을 한다.
마지막으로 AI 적용 단계이다.
전 단계에서 정한 Train data와 Test data를 이용해
Train data로 학습된 모델이 Test data를 넣었을 때 좋은 성과를 내는지 테스트하는 단계라고 볼 수 있다.
평가와 결정을 하는 단계라고도 할 수 있는데
오차율은 낮게, 정확도는 높게 될 수 있도록 실제 환경에서 충분한 검증을 해야 한다.
각 단계를 짧게 정리해 보자.
문제 정의 | 목적과 목표 |
데이터 수집 | 가능한 많고, 깨끗한 데이터 |
데이터 분석 및 전처리 <가장 중요한 단계> | 중요한 데이터를 찾고, 사전 준비 |
AI 모델링 | 학습기법을 선택하고 반복 |
AI 적용 | 만든 모델을 평가하여 결정 |
AI 업무 적용 사례
아래 표는 KT의 AI 업무 적용 사례이다.
적용기능/ 분야 |
회귀 예측 (수치형) |
분류 예측 (범주형) |
자연어처리 (Text) |
영업 | 제조산단 오퍼링을 통한 에너지 사용량 예측 | 가입정보를 활용한 고객유형 에측 얼리 어답터 단기기변 타겟 분류 |
고객 경험 데이터 분석 및 맞춤형 서비스 추천 |
네트워크 | 최적 회귀 방식 예측을 통한 방통위 품질 평가 대응 자동화 |
AI 기반 N/W VOC 사전 예측, B/S 중심 활동 강화 |
TEXT VOC 기반, NW 장애원인 예측 |
IT | 원내비 도착시간예측 | IT 인프라 성능 예측 및 이상징후 자동 판단 |
AICC 상담 내역 자동 분류 |
미디어 | 콘텐츠 제작 흥행률 예측 |
미디어 시청로그 사용자 취향 분류 |
기가지니 발화데이터 자동 분류 |
Q. AI를 우리 업무에 적용함에 있어 가장 큰 영향을 미치는 요소는 ?
비지니스 이해
AI 이해 리뷰
Q1. 인공지능의 한 분야로 사람이 기계에게 직접 규칙을 알려주어 학습하는 것을 머신러닝이라 한다.
x
머신러닝은 학습을 통해 스스로 규칙을 만들어나가는 알고리즘/기술의 총칭을 말한다.
Q2. 머신러닝의 학습 방법은 크게 3가지로 나눠진다. 맞는 것을 모두 고르시오.
1. 지도학습 2. 비지도학습 3. 심층학습 4. 강화학습
1, 2, 4
Q3. 지도 학습은 정답이 있는 과거 데이터로 학습하여 미래를 예측하는 데 사용하는데요, 크게 회귀와 분류로 나눠진다.
O
Q4. 머신러닝의 학습방법 중 지도학습은 예측에 사용된다. 예측을 잘하는지 확인하기 위해 ( ) Set와 ( ) set로 나누어 학습하고 평가한다.
Training, Test
Q5. 다음은 분류인가, 회귀인가?
[입력값 -> 머신러닝 모델 -> 출력값(Red, Green, Blue)]
분류(Classification)
범주값(Red, Green, Blue 3개의 범주 데이터 중 Red 출력)
Q6. 다음은 분류인가, 회귀인가?
[몸무게가 70kg인 사람의 키를 예측하고 싶다! - 그래프 제시]
회귀(Regression)
몸무게 70kg인 사람의 키를 수치형 데이터로 출력
Q7. 데이터의 열을 지칭하는 용어 중 성격이 다른 것을 고르시오.
1. 피쳐(Feature) 2. 라벨(Label) 3. 입력 4. 독립변수
라벨(Label)
Q8. 머신러닝은 딥러닝 알고리즘 중의 하나로 사람의 뇌를 모사한 인공신경망을 활용하는 개념으로 심층학습이라고도 부른다.
X
AI ⊃ 머신러닝 ⊃ 딥러닝
Q9. 머신러닝을 업무에 적용하기 위해서 반드시 파이썬, R 등의 코딩을 알아야 한다.
X
코딩이 아니라 머신러닝 개념 이해가 더 중요 !
'Study > AICE' 카테고리의 다른 글
[AICE Basic] #3 [이론편] AI 구현 프로세스 (1) | 2023.05.20 |
---|---|
[AICE Basic] #2 [실습편]코딩이 필요없는 AIDU ez 활용법 (0) | 2023.05.14 |
AICE 자격증이란 ? (0) | 2023.05.11 |