AI의 이해 (이론편) 및 AICE Basic 소개

productuidev·2024년 2월 19일
0

IT/CS 지식 쌓기

목록 보기
24/24
post-thumbnail

AICE Basic

AICE Basic 자격증 대비 AI의 이해 이론편 요약
(KT IT부문 강사 박희정)

AICE Basic은?

AICE Basic은 KT의 SW 비전공 임직원들도 AI를 이해하고 활용하면 좋겠다는 고민에서 시작되었습니다. 파이썬 코딩을 잘 몰라도 KT가 개발한 No 코딩 AI 실습도구 AIDU ez(에이아이두 이지)를 통해 마우스 클릭만으로 인공지능 실무 활용 프로세스를 익히고 인공지능 모델을 직접 만들 수 있습니다.

출처 및 참고


Part 1. AI 정의 및 용어

AI (Artificial Intelligence)이란

인공지능은 사람을 닮은 기계로, 다트머스학회 존 매카시 교수로부터 나온 용어다.
알고리즘으로 데이터를 "학습(Train)"하여 모델을 만드는 기술을 말한다.

  • 전통적인 프로그래밍은 사람이 규칙, 데이터 입력하여 해답 생성함
  • AI 머신러닝은 기계에 부여하는 명령을 만드는 작업과 달리,
    알고리즘으로 데이터를 학습하여 판단이나 예측을 하는 기술
  • 데이터와 해답을 입력하여 머신러닝 학습 후 규칙 생성

AI 기술 및 알고리즘 공유 문화

  • 프로그래밍 언어 : Python
  • 오픈소스 라이브러리 : NumPy(수치), pandas(테이블, 기능집합소)
  • 딥러닝/머신러닝 프레임워크 : TensorFlow(구글), Keras, PyTorch(페이스북), ... + 알고리즘 포함
  • AI모델링 자동화 플랫폼 : maum,ai, AIDU ez, Samsung SDS Brightics AI, Ai Suite (클릭 툴)
선진 기업 API, 오픈소스 등을 통해 공유되는 AI 문화
"잘 찾아서 사용"하는 것이 중요한 능력이 됨

AI 구현을 위한 3대 핵심 요소

  • 알고리즘 : 어떤 알고리즘을 사용하느냐에 따라 성능에 영향
  • 데이터 : 학습할 수 있는 데이터가 없다면 알고리즘이 있어도 사용 불가 (서비스 차별화 요소)
  • GPU : CPU(1시간30분) - GPU(40초) 차이

머신러닝, 딥러닝과 관련된 주목받는 알고리즘

" AI ⊃ 머신러닝 ⊃ 딥러닝 "

  • 인공지능 : 계산, 학습 등 인간의 지적능력을 컴퓨터를 통해 구현하는 기술
  • 머신러닝 : 특정 부분을 스스로 학습해 성능을 향상
  • 딥러닝 : 인간의 뉴런과 비슷한 인공신경망으로 정보를 처리

(앞으로 이야기할 AI는 머신러닝(딥러닝 포함)임)

Part2. 머신러닝과 딥러닝

1. 지도학습 Supervised Learning

  • 미리 정답이 정해진 데이터를 기초로 정답의 방향으로 학습
  • 학습할 데이터와 정답을 함께 제공
  • Task Driven (Predict next value)
  • 문제도 주고 답도 주는 지도학습 (2가지 종류)
  • 입력(=Feature, X값, 독립변수) / 출력(=Label, Y값, 정답, 종속변수) 데이터로 학습

과거 데이터로 미래 데이터를 예측할 수 있는 방법
어떤 것을 예측(Predict)하느냐에 따라 분류(Classification, 결과가 범주형), 회귀(Regression, 결과가 수치형)으로 분류할 수 있음

  • 분류 : 결과가 명확하게 나눠진 범주형 데이터를 출력
  • 회귀 : 몸무게가 X인 사람의 키, 부동산 가격, 주식 같이 수치형 데이터를 예측해 출력

2. 비지도학습 Unsupervised Learning

  • 기계가 정답이 없는 데이터 집합에서 데이터의 특성을 분석하여 군집화하는 학습 방법 (정확한 학습 환경이 마련되는 것이 중요)
  • 지도학습에 비해 결과 예측이 어렵고 불확실할 수 있음
  • 다만, 정답 데이터를 제공하지 않아도 됨
  • 학습할 데이터만 줌, 정답은 없지만 숨겨진 특징을 찾음, 데이터 특성을 스스로 파악
  • Data Driven (Identify Clusters)

비지도학습은 정답없이 문제만 가지고, 데이터들의 패턴이나 구조, 특성을 스스로 파악해 찾아냄

군집화(Clustering)
Input data가 바나나, 사과, 오렌지, 바나나...일 때 데이터 특성 색깔별로 나눠진 과일들이 있을 때, 출력데이터(Label, Y, 정답) 없이 입력데이터만 주고 패턴으로 학습

연관
예를 들어 선글라스 판매 매출에 대해 마케터는 직관을 사용해 20-30대 여성 선글라스 구매고객을 분석한 반면,
머신러닝은 데이터를 통해 휴가 준비중인 여성고객, 남성과 여성 모두 포함된 열혈 스포츠 애호가들을 분석
(해변의상과 함께 선글라스를 구입하는 여성고객과 스포츠 의류와 함께 선글라스를 구입하는 경향이 높은 여성과 남성 군집 발견)
다만, 머신러닝의 경우 Label(출력데이터 = Y = 정답)이 없기 때문에 모델의 성능에 대해서는 검증하기 어렵다는 단점이 있음

3. 강화학습 Reinforcement Learning

  • 학습 과정에서 정답을 도출할 경우 보상을 더 높게 주는 학습
  • 행동심리학에서 유래
  • 스키노 상자 실험 : 유쾌한 자극을 주면 반응 빈번, 불쾌한 자극을 주면 반응 감소하거나 없어지는 것을 의미 (시행착오 후 먹이를 얻는 것을 위해 자발적으로 학습한다는 실험)
  • 컴퓨터도 상벌을 주면 학습효과가 있지 않을까에서 출발한 방법
  • 특정 행동(Action)을 시행하고, 상/벌(Reward)에 따라 해야 할 행동을 학습
  • Learn from Mistakes

Part3. 딥러닝

머신러닝 알고리즘 중 인기있는 알고리즘
Kaggle 상위권 알고리즘 : Ensemble(앙상블) 기법, Xgboost, Light GBM 등
정형, 회귀 관련...

머신러닝 알고리즘 중 하나는 딥러닝

ANN (Artificial Neural Network)

인공신경망, 뇌의 정보처리방식을 모사
사람의 뇌 속 뉴런의 작용을 본떠 패턴을 구성한 컴퓨팅 시스템의 일종

DNN (Deep Neural Network)

입력층, 여러 개의 은닉층, 출력층으로 구성된 가장 일반적인 모형

CNN (Covolutional Neural Network)

합성곱신경망, 이미지의 직렬별 feature를 뽑아서 학습하는 분야에 특화 (비디오, 오디오 특화)
예) 유튜브 자막

RNN (Recurrent Neural Network)

순환신경망, 자신의 출력을 다시 입력으로 활용
순서가 있는 데이터 학습에 특화 (시계열 예측, 문장 처리 등)
예) 말, 글, 음악, 영화, 주식 시세
→ 시간과 관련된 순차적 데이터를 잘 다루는 딥러닝 모델임

GAN (Generative Adversarial Network)

생성적 적대 신경망, 두 신경망 모델의 경쟁을 통해 학습
예) 위조지폐범 - 위조지폐범을 잡는 경찰, 위조지폐 - 현실의 현찰
흑백사진 복원, 영상합성 시 사용
고흐풍 그림, 저작권 없는 가짜 사진 생성 가능

딥러닝이 주목받는 이유는?

1) Feature 추출을 기계가 직접, 알아서 합니다. (이 AI 모델에 필요한 X값이 뭐지?)
2) 정확도가 높기 때문 (데이터 사이즈나 모델 사이즈가 높아지면 정확도 상승)

But, 장점도 있으면 단점도 있는 법 (주의해야할 점)

과적합(Over-fitting) 모델로 발전 가능성

  • 정확도가 좋아지므로 훈련데이터에 과적합 하지만 실제데이터를 넣을 경우 정확도가 저하됨
  • 학습 데이터에만 잘 맞는 모델이 만들어질 가능성

Too Slow

  • 딥하면 딥할수록 복잡한 로직으로 학습시간 증가
  • 컴퓨팅 파워(컴퓨팅 성능)이 중요해짐 (복잡한 학습로직)

Black Box

  • 처리 과정에 대한 설명이 어려움 (이게 어떻게 만들어졌는지 알 수 없음..)
  • 확률로 나왔다고 설명할 수 있지만 어떤 과정을 거쳐서 나왔다고는 설명하기 어려움

AI 핫 키워드

  • NLP Natural Language Processing : 자연어 인식/처리. BERT, Ko-BERT 알고리즘
  • Computer Vision 영상인식/처리 : 사람의 시각체계를 컴퓨터 구현. 자율주행 자동차
  • STT TTS : Speech to Text, Text to Speech 음성인식/처리, 인공지능 스피커
  • AICC 챗봇 : 사람의 말을 기계가 알아듣거나 인간이 말한 것을 문자화 등

Part3. AI 업무 적용 프로세스

1. 문제 정의

  • 목적과 목표에 따라 어떤 AI 모델을 만들 것인지 선택 가능
  • AI 과제 정의서 : 과제명, 배경 및 문제 정의, 가설, 기대효과, 분석모델

2. 데이터 수집

  • 데이터가 편향되거나 손실되었다면, 정확하지 않은 학습이 이루어짐
  • 다량의 명확한 데이터 학습이 중요

3. 데이터 분석 및 전처리

(1) 데이터 분석 → 상관관계

  • 의미있는 데이터는 무엇인가?
  • 데이터의 분포와 관계는 어떠한가?
  • heat map : 연관도, 상관관계

(2) 데이터 전처리 → 사전 준비단계
기계가 이해하도록 데이터를 변환해주는 과정 (feature engeering)

  • 데이터 : 범주형? 수치형?
  • 결측치 처리 : 빈 값은 제거할까 대체할까
  • 데이터 인코딩 : AI는 숫자로 이해한다
  • 결측치(missing values)는 일반적인 데이터 집합에서 벗어난다는 뜻을 가진 이상치(outlier)의 하위 개념이며 값이 존재하지 않을 때 사용하는 값이기도 하다. 예를들어 엑셀로 따지면 비어있는 셀이라고 할 수 있겠다.

4. AI 모델링

학습기법을 선택하고 반복 수행

  • 학습유형 : 지도, 비지도, 강화학습 중 선택
  • 알고리즘 : 머신러닝, DNN, CNN, RNN 중 선택
  • 개발도구 : Scikit-learn, Tensorflow, AIDU ez

5. AI 적용

AI 모델링

  • Train Data Set, Test Data Set가 좋은 성능을 내는지 체크하는 과정
  • 실제 서비스에 어떻게 적용할지 고민

평가와 결정

  • 오차율(Loss) : 오차율은 낮게
  • 정확도(Accuracy) : 정확도는 높게

단, 실제 환경에서 충분한 검증을 이루어져야 함 (상용화)
훈련데이터에서만 좋은 성능을 내는게 아닌 실제 적용 데이터에서 좋은 성능이 나도록 하는게 중요

Part4. AI 업무적용 사례

사례1

  1. 고객 유형 예측
    신규 가입정보 기반 고객유형 예측 (개인 vs 개인사업자 vs 법인사업자)

1) 문제 정의 : 부가세 신도 달에 사업자 등록 여부로 인한 세금 관련 VOC
2) AI 적용 : 고객이 말하지 않아도 고객 유형을 분류, 예측해보자

  • BI/DW 고객 데이터 : 건물 현황, 사용상품 정보
  • 지도 위경도 좌표 데이터 : 고객 유형별 분포지역
  • GBM 알고리즘 활용
  • 정확도 70% 예측

3) 활용/성과 : 신규가입 시 입력되는 정보를 기반으로
고객유형 예측, 사업자인 경우 세금정보 등록 유도로 콜센터 콜 폭주 해소

사례2

  1. 이상징후 자동판단
    IT 인프라 이상징후 자동 판단

1) 문제 정의 : 그때그때 다른 이상징후,
특정 임계치를 설정하고 임계치가 넘으면 경보가 울리는 고정 임계치 방식

  • 불필요한 탐지 발생
  • 탐지에서 누락되는 경우도 발생

2) AI 적용
평상 시 네트워크 트래픽 추이에 따라 정상/비정상 예측해보자

  • IT서비스, 관제시스템, "성능 데이터" 패턴 및 특성 분석
  • 이상징후 발생 시 유효한 데이터
  • 14만건 데이터 라벨링
  • 3계층 DNN 모델
  • 정확도 88% 예측

3) 활용/성과
기존 트래픽 패턴을 기반으로 때에 맞게 변화하는 동적임계치를 적용
→ 이상징후 탐지의 정확도 향상, 불필요한 경보를 줄여 관제/대응에 투입되는 비효율 절감

Review


그 밖에 가볍게 AI에 대해 이해하기 좋은 자료


뜬금없이 간만에 포스팅..
요즘은 개발자지망생보다 개발을 공부하는 퍼블리셔 겸 직장인으로 살아가고 있다(..)

회사 연간 수강과정 중에 AI교육도 있어 고심하다 자격증을 따기로 신청하여
강의 패키지 중 1차시 기본 개념만 간단히 정리..(이게 전부가 아니다)

AI 툴보다 AI, 머신러닝, 딥러닝에 대한 개념 이해가 중요하다는데
후기들을 서칭하니 생각보다 왠지 쉽지 않아보여 걱정...

ChatGPT-4가 나오고 약간 코딩 공부에 현타가 오기도 했지만,
어느 정도 나온 결론은 얼마나 잘 활용하느냐가 핵심인 거 같다.

그러기 위해선 AI 문해력 & 분별력을 위해 이런 자격증도 공부해두면 나름 의미가 있을 거 같다.

개발자들은 AICE Associate로 딴다고 하는데 난 파이썬 코딩을 할 줄 몰라서 Basic으로 신청했다.
그런데... 정보처리기사 시험을 준비하면서 파이썬도 기본은 알아야함을 느꼈다...
시험을 준비하면서 데이터베이스 기초도 공부했는데.. 상상코딩, 상상SQL...zzz
(혹시 몰라 인프런에서 무료 C언어, 자바, 파이썬 기초도 수강신청은 해두었는데 실기를 준비하면서 짬짬히 공부해둬야 할 것 같다..)

AI가 나오면 만능해결사일 줄 알았지만,
강의 듣다 느꼈듯이.. 2024년은 공부의 해...😃🤪🤓😣 (게으름과 나태함을 타파해야..!!)

profile
필요한 내용을 공부하고 저장합니다.

0개의 댓글