AI데이터엔지니어 부트캠프 <핀테커스> 9주차 - (1) 최신 AI 기술 개요 및 용어 정리

Pygmalion Dali·2023년 10월 23일
0
post-custom-banner

1. 인공지능 개요

GPT?

GPT란?

  • GPT(Generative Pre-trained Transfomer)는 AGI(Artificial General Intelligence) 즉 범용 인공지능을 목표로 만들어진 AI 모델

GPT를 구성하는 3개의 단어

① Generative(생성 모델)

② Pre-Trained(사전 모델) : 사전에 모델을 만들고 이미 존재하는 데이터를 이용해 훈련

③ Transformaer(Transformer AI 모델) : 하나의 알고리즘

Chat GPT 활용 서비스?

``1. **고객 서비스**

  • 고객 문의에 즉각적, 정확한 답변 제공
  • 웹사이트나 메시징 플랫폼에 ChatGPT를 통합하여 질문에 대한 답변 수행

2.영업

  • Large Language Model → 단어를 갖고 다음을 예측하는 모델
  • 제품 추천 개인화 및 제품에 관한 질문에 답변
  • 고객이 정보에 기반하여 구매 결정을 내리도록하여 전환율 상승

3.마케팅

  • 맞춤형 추천 및 메시징 플랫폼을 통한 상호작용
  • 마케팅 캠페인 자동화

객체 탐지 (Object Detection)?

한 이미지에서 객체와 그 경계 상자(bounding box)를 탐지

객체 탐지 알고리즘은 이미지를 입력으로 받고 경계 상자와 객체 클래스 리스트룰 출력

경계 상자에 대한 예측 클래스와 클래스의 신뢰도(confidence)를 출력

Applications

  • 자율 주행 자동차에서 다른 자동차와 보행자 찾기
  • 의료 분야에서 방사선 사진을 사용해 종양이나 위험한 조직을 찾기
  • 제조업에서 조립 로봇이 제품을 조립하거나 수리
  • 보안 산업에서 위험을 탐지하거나 사람 수를 세기

2. About Artificial Intelligence

인공지능 개념

인공지능:1950년대에 등장한 개념으로 인공적으로 만들어진 지능을 의미

머신러닝: 데이터를 기반으로 학습해 스스로 발전할 수 있는 방법으로 인공지능을 구현하기 위한 여러 방법 중 하나

딥러닝: 머신러닝의 여러 알고리즘 중 하나로, 사람의 뇌를 모방한 인공신경망의 가장 발전된 알고리즘

인공지능 역사

심볼릭 AI

  • 명시적인 규칙을 충분히 갖고 있는 프로그램을 만들면 인간 수준의 인공지능을 만들 수 있을 것으로 예상
  • 1950년대부터 1980년대 까지 지배적인 패러다임
  • 심볼릭 AI는 규칙이 명료한 논리적인 문제를 푸는 데에는 적합하지만 복잡한 문제는 풀기 어려움

전문가 시스템

  • 1980년대에 등장한 새로운 체계
  • 인간의 지식을 컴퓨터가 사용하기 좋은 형태로 만들어서 널리 활용하려는 의도를 가지고 탄생
  • 방대한 규칙을 세우고, 정보 추가가 어렵다는 단점

머신러닝

  • 초기 인공지능 연구는 지능적 에이전트를 만들기 위해 사람이 만든 논리를 컴퓨터에 프로그래밍하는 한계점이 있었음
  • 기호 논리학적 추론이 아닌 학습에 기반을 둔 머신러닝을 통해 인공지능을 구현하려는 시도 시작
  • 머신러닝은 학습 기반으로 인공지능을 구현하려는 구체적인 방법

인공지능 유형과 예시

지도학습: (분류/회귀) 스팸메일 필터, 유가 예측

비지도 학습: (군집화, 차원 축소) 추천시스템을 위한 협업필터링, 컨텐츠 기반 추천

강화학습: (에이전트와 환경 사이의 상호 작용) 에이전트가 환경으로부터 보상을 최대화

3. Machine Learning

머신러닝 성능 측정 지표

**성능측정 지표**

  • 분류: ACCURACY, PRECISION, RECALL, F1 SCORE …
  • 회귀: RMSE, MAE, R2 SCORE …

Precision(정밀도) : 투자 종목 추천에서 제일 중요한 지표 (오르는 종목 예측)

Recall(재현율) : 사기거래의 사기를 잡아내는 확률에서 제일 중요한 지표

머신러닝 사례

금융 사기거래 케이스

구분내용
기존 프로그래밍 방식의 해결 방안기존 거래의 다양한 거래조건으로 거대한 사기 거래적발 프로그램 구축
효율 저하금융사기 전문가는 경험칙에 의해 프로그램 로직을 풀어냄
환경 변화수시 변화하는 금융등 환경에 맞추어 로직 수정 및 검증 작업 필요
머신러닝 해결방안데이터를 기반으로 통계/수학적 기법을 적용하여 데이터 패턴을 스스로 인지하고 예측

스팸 필터 제작 재구성

구분내용
스팸 메일의 특성 탐색스팸에 어떤 단어가 나타나는 지 관찰 (신용카드, 무료… 등 단어 / 발송자 이름, 메일주소 등 패턴)
패턴인식 결과에 따른 분류각 패턴을 감지하는 규칙을 작성하여 패턴 발견시 스팸으로 분류
탐색과 분류 작업 반복테스트 및 반복
★ 머신러닝 방식 스팸 필터일반/스팸을 비교하여 패턴을 감지하여 스팸 메일 판단의 기준을 학습하여 필터링함
패턴 발견이 자동화되어 유지보수 용이 및 정확도 향상

음성인식

구분내용
기존 프로그래밍음성의 특징을 기준으로 사운드의 강도를 측정하는 알고리즘을 통해 하드코딩으로 인식 프로그램 작성
소음 / 여러 언어 구분 불가, 단어의 발음을 녹음한 샘플을 통해 스스로 학습하게 하는 것이 최선

머신러닝 사례 및 기술

생산라인에서 제품 이미지를 분석해 자동으로 분류

  • 이미지 분류 작업
  • 합성곱신경망 사용

뇌를 스캔하여 종양 진단

  • 시맨틱 분할 작업
  • 합성곱 신경망을 사용하여 이미지의 각 픽셀을 분리

자동으로 뉴스 기사를 분류

  • 자연어 처리
  • 텍스트 분류 작업
  • RNN, 합성곱 신경망, 트랜스포머사용

토론 포럼에서 부정적인 코멘트를 자동으로 구분

  • 텍스트 분류 작업
  • 자연어 분류 활용

긴 문서를 자동으로 요약

  • 텍스트 요약
  • 자연어 처리 영역

챗봇 또는 개인 비서 만들기

  • 자연어 이해(NLU)와 질문-대답 모듈을 포함한 자연어 처리 활용

다양한 성능지표를 기반으로 회사의 내년도 수익을 예상

  • 회귀
  • 선형회귀, 다항회귀, 회귀 SVM, 회귀 랜덤포레스트, 인경신공망
  • 지난 성능 지표를 사용할 경우 순환

음성 명령에 작동하는 앱 제작

  • 음성인식 작업(오디오 샘플 처리)
  • 순환신경망, 합성곱 신경망, 트랜스포머

신용카드 부정거래 감지

  • 이상치 탐지

구매이력을 기반으로 고객을 나누고 각 집합마다 다른 마케팅 전략 기획

  • 군집 clustering 작업

고차원의 데이터셋을 명확하고 의미있는 그래프로 표현

  • 데이터 시각화 작업
  • 차원 축소 Dimensionality Reduction 사용

과거 구매 이력을 기반으로 고객이 관심을 가질 수 있는 상품 추천

  • 추천 시스템
  • 과거 구매이력 및 고객 정보를 인공신경망에 학습시키고 구매 가능성이 가장 높은 상품을 출력
  • 모든 고객의 구매 이력을 기반으로 훈련

지능형 게임 만들기

  • 강화학습
  • 시간이 지남에 따라 주어진 환경에서 보상이 최대가 되는 행동 선택 ex) 알파고

4. 머신러닝 학습 구분

지도학습

  • 분류(Classification) : 지도학습, 결정 경계를 기준으로 클래스를 분류하는 것
  • 회귀(Regression): 예측변수라 부르는 feature을 사용해 target 수치를 예측하는 것
  • K-nearest Neighbors, Linear Regression, Logistic Regression, SVM, Decision Tree & Random Forest, Neural Network

비지도학습

  • 군집(Clustering): K-means, DBSCAN, HCA, Outlier Detection, Novvelty Detection, one-class SVM, Isolation Forrest
  • 시각화 및 차원 축소(Visualization & Dimensionality Reduction): PCA, Kernel PCA, LLE, t-SNE
  • 연관 규칙 학습(Association Rule Learning) : Apriori, Eclat

모델 기반 학습

  • 선형회귀 모델에 훈련 데이터를 공급하여 가장 잘 맞는 선형 모델의 파라미터를 찾아내는 과정
  • 경사하강법을 통해 가중치/편향을 업데이트하면서 최적의 선을 찾아감

머신러닝의 주요 도전 과제

충분하지 않은 양의 훈련 데이터

대표성 없는 데이터

낮은 품질의 데이터

관련없는 특성

테스트와 검증

데이터 분할-훈련세트와 검증

데이터 불일치 문제: garbage in garbage out

공짜 점심 없음 이론: 어떤 데이터에 어떤 모델이 적합한지는 사전에 알 수 없기 때문에, 테스트를 통해 파악해야 함

5. Data Preprocessing

데이터 분석 과정

1.데이터 수집

  • 공공데이터 사이트에서 데이터 수집
  • CSV 파일 / API를 사용하여 데이터 수집

2.데이터 확인

  • 데이터의 내용: .head()
  • 데이터 수, 컬럼수, 데이터 타입, 결측치: .info()
  • 데이터의 기초 통계, 이상치 여부: .describe(), .boxplot
  • 데이터의 분포: histplot

3.데이터 전처리

  • 결측치 처리: 제거, 대치(평균값/중앙값/0/ffill, bfill)
  • 데이터 타입 변경: astype()
  • 스케일링: 표준화, 정규화
  • 범주형 데이터 수치화(encoding): label, one-hot
  • 신규변수 생성: 집계, 요약, 기간별 구분

4.데이터 시각화

  • 수치 데이터 상관관계 분석: pairplot
  • 수치 데이터 분포: histplot
  • 범주형 데이터 분포: countplot
  • Violinplot, swarmplot, boxplot

5.모델 선정

  • 데이터 분리: X, y 데이터 분리, train, test 데이터 분리: train_test_split
  • 알고리즘(분류/회귀)별 학습 및 테스트 데이터로 예측
  • 회귀, 분류 알고리즘에 따른 성능 지표를 기준으로 성능 비교

6.모델 최적화

  • 과대적합 여부 확인(학습, 평가 결과 비교)
  • 목표값의 클래스 편차가 심할 경우 Sampling 요소 고려
  • 과대적합 해소를 위한 규제 적용
  • 성능 향상을 위한 하이퍼파라미터 튜닝

6. 인공지능 학습 알고리즘 선정

인공신경망의 역사

  1. Perceptron: 신호(x1, x2)를 입력으로 받아 하나의 신호(y)를 출력하는 기계, 신경망의 기원이 되는 알고리즘초기 퍼셉트론을 이용한 문제 해결은 AND와 OR을 조합해 문제를 푸는 과정
  2. MLP 등장: 다중 퍼셉트론으로 신령망을 쌓아 문제를 해결하는 것이 등장
  3. 역전파의 고안: 신경망의 오차를 출력층으로부터 입력층으로 거꾸로 전파시켜 각 레이어의 weight과 bias를 업데이트함vanishing gradient, exploding gradient 문제가 발생

직선에 기반한 결정경계를 가진 데이터는 logistic regression 모델로 학습시켰을 때 결과가 좋음

post-custom-banner

0개의 댓글