2. Intro
예시 : 주어진 사진으로부터 고양이 사진인지 강아지 사진인지 판별하는 일.
def prediction(이미지 as input):
if 눈코귀가 있을 때 :
if 근데 강아지는 아닐 때
if 털이 있고 꼬리가 있을 때 :
if 다른 동물이 아닐 때
…
어케하누…
return 결과
전통적인 방식으로 개발자가 직접 규칙을 정의
4. 인공지능(AI)?
인공지능(Artificial Intelligence)
• 기계가 사람처럼 지능이 필요한 일을 하도록 만드는 과학
• 환경을 인지하고 목표를 성공적으로 달성할 가능성을 극대화하도록 조치를 취할 수 있는 시스템
Ex) 자율 주행 자동차, 스마트 스피커, 챗봇, 인공지능 로봇, 이미지 인식, 개인화 추천, 기계 번역
5. 딥러닝(DL)?
딥 러닝(Deep Learning)
• 인간의 뇌에서 신경 세포를 사용하는 방식과 유사한 알고리즘을 사용하는 머신 러닝(ML) 의 하위 분야
• 우리 생활의 예를 통해 우리 인간들이 쉽고 자연스럽게 하는 일을 컴퓨터에 가르치는 머신 러닝 기술
인공 신경망(Artificial Neural Network)
• 인간의 뇌 속 뉴런의 작용을 본떠 패턴을
구성한 컴퓨팅 시스템의 일종
6. 딥러닝(DL)?
심층 신경망(DNN, Deep Neural Network)
• 레이어가 한 층으로만 구성된 것이 아니라
여러 층, 다시 말해 깊은 층으로 구성된 인공 신경망
심층 신경망이 학습하는 과정 -> 딥러닝
「 」
8. 프로그래밍 방식 & 머신러닝 방식
기존 컴퓨터 프로그램 머신 러닝 알고리즘
입력값을 받으면 결과값을 출력하는 방식
내부적 알고리즘이 중요
입력값과 결과값을 가지고
컴퓨터가 학습을 통하여 규칙을 도출 해낸 다음
새로운 입력값이 주어졌을 때 결과를 예측
데이터가 중요. 데이터 중심 & 모델 중심
10. 머신러닝의 학습분류 - 지도학습
데이터를 학습시킬 때 답까지 같이 알려주는 방식의 학습 방법
강아지와 고양이 사진을 구분하는 방법을 학습할 때
사진과 함께 이것이 강이지인지 고양이인지 알려주는 것
11. 머신러닝의 학습분류 - 지도학습
• 레이블이 달린 데이터로 학습 후 새로운 데이터가
어느 그룹에 속하는지 찾아내는 방법
• 예측하려는 값이 이산 값 일 경우 (자동차, 사람, 도로)
• 예로 ‘스팸 메일 구분’
• 연속적인 숫자(실수)를 예측하는 것
• 예측하려는 값이 연속 값 일 경우 (0.31, 0.301, 0.3001)
• 예로 ‘아파트가격 예측’, ‘기온 예측’
12. 머신러닝의 학습분류 - 비지도학습
데이터를 학습시킬 때 답을 알려주지 않고, 데이터의 특성에 따라
관계나 패턴을 찾아 스스로 학습하는 방식
동물 사진을 분류할 경우 사진의 구조나 특성 별로 분류
13. 머신러닝의 학습분류 - 비지도학습
군집화 (Clustering)
• 레이블이 없는 학습 데이터들의 특징을 분석하여 유사한 특징을 가진 데이터 끼리
그룹화 하는 것
군집화의 과정
• 데이터를 좌표화 -> 가까운 것들 끼리 모아 하나의 그룹을 만든다
( 좌표상 가깝다는 것은 데이터가 비슷하다는 것을 의미)
14. 머신러닝의 학습분류 - 비지도학습
연관 규칙 (association rule)
• 서로 연관된 특징을 찾아 내는 것
• 주로 추천과 관련된 부분에 사용 (장바구니 분석)
• 라면을 구입한 사람은 계란을 구입할 확률이 높다
• 즉, 라면과 계란은 서로 연관성(Association)이 높다
연관성을 파악 -> 연관성이 있는 상품을 추천
16. 머신러닝의 학습분류 - 강화학습
행동에 대한 보상을 받으면서 학습하여 어떤 환경 안에서 선택 가능한
행동들 중 보상을 최대화하는 행동 또는 행동 순서를 선택하는 방법
즉, 어떤 환경 안에서 정의된 주체(agent)가 현재의 상태(state)를 관찰하여
선택할 수 있는 행동(action)들 중에서 가장 최대의 보상(reward)을 가져다주는
행동이 무엇인지를 학습하는 것 (ex 알파고, 각종 게임)
• 환경(environment)
• 에이전트(agent)
• 상태(state)
• 행동(action)
• 보상(reward)
• 정책(policy)
17. 머신러닝의 학습분류 - 강화학습
강화학습의 예
더 많은 보상을 받을 수 있는 정책을 만드는 것이 핵심
• 게임 -> 환경(environment)
• 게이머 -> 에이전트(agent)
• 게임화면 -> 상태(state)
• 게이머의 조작 -> 행동(action)
• 상과 벌 -> 보상(reward)
• 게이머의 판단력 -> 정책(policy)
1. 게임은 게이머에게 게임화면을 통해 현재의 상태를 보여준다.
(캐릭터의 위치나 장애물의 위치 등등)
2. 현재의 점수도 알려준 뒤 게이머에게는 점수가 높아지는 것이
상이고 반대로 점수가 낮아지는 것이 벌이다.
3. 플레이(관찰)를 하며 어떻게 하면 더 많은 보상을 얻게 되는지,
또한 더 적은 벌을 받게 되는지 알게 된다.
4. 그로 인해 게이머의 판단력이 강화된다.
5. 강화된 판단력에 따라 게임을 조작한다
6. 그 조작은 게임에 변화를 가져온다.