주뇽's 저장소

1. 인공지능 소개 본문

DeepLearning

1. 인공지능 소개

뎁쭌 2021. 10. 27. 15:35
728x90
반응형

본격적인 인공지능을 공부하기 앞서 전체적으로 한 번 보는 느낌이다 이해가 가지않더라도 한 번 정리하자

 

기계학습가능한가 ?

경험을 통해 점진적으로 성능 향상되는 기계를 만들 수 있을까?!

 

#학습 : 경험의 결과로 나타나는 , 비교적 지속적인 행동의 변화나 그 잠재력의 변화 또는 지식을 습득하는 과정 

#기계학습 

  • 초창기 정의 : 컴퓨터가 경험을 통해 학습할 수 있도록 프로그래밍할 수 있다면, 세세하게 프로그래밍해야 하는 번거로움에서 벗어날 수 있다.
  • 현대적 정의 : 어떤 컴퓨터 프로그램이 T라는 작업을 수행한다. 이 프로그램의 성능을 P라는 척도로 평가했을 때 경험E를 통해 성능이 개선된다면 이 프로그램은 학습을 한다고 말할 수 있다.

최적의 프로그램(알고리즘)을 찾는 행위

- 경험 E 를 통해

- 주어진 작업 T에 대한
- 성능 P향상 

경험을 통해 주어진 작업에 대한 성능의 향상

# 기계 학습전통적인 프로그래밍차이는 기계학습은 점진적인 향상이 있다라는 점이다.

전통적인 프로그래밍과 기계학습의 차이

인공지능의 탄생 = 연산 장치의 탄생

컴퓨터의 뛰어난 연산 능력

  • 복잡한 연산을 사람보다 잘함
  • 컴퓨터에 대한 기대감 = 컴퓨터의 능력 과신
    • 사람의 지능 행위를 컴퓨터가 모방할 수 있을까 하는 궁금증
      ex) 인간은 쉽게 하는 고양기/개 구별
    • 1940년대 인공지능 개념 정의 및 분야 대두  (첫 번째 시대)

#인공지능은 총 3단계로 시대가 나눠진다.

인공지능의 초창기

초강기에는 지식기반 방식이였다. 지식기반은 경험적인 지식 혹은 사실을 인위적으로 컴퓨터에 부여하여 학습하는 것

ex) "구멍이 2개이고 중간 부분이 홀쭉하며, 맨 위와 아래가 둥근 모양이라면 8이다"

하지만 지식기반은 학습의 대상이 심한 변화 양상을 가진 경우, 모든 지식 혹은 사실의 나열은 불가능했다.

위와 같은 다양한 패턴을 모두 학습한다는것은 불가능

 

인공지능의 주도권 전환

지식 기반 → 기계 학습 → 심층학습(표현학습)

기존 지식기반방식에서 기계 학습으로 전환 (데이터 중심 접근방식으로 전화)

-경험을 통해 기계가 스스로 학습

 

기계학습의 개념

기계 학습의 예제

  • 가로축은 시간, 세로축은 이동체의 위치 (모든 데이터는 정량화된 형태로 표현 (vector))
  • 4개의 점의 데이터 관측

간단한 기계학습 예제

기계 학습은 경험, 과업, 성능 이 3가지가 필요하다 

  • 경험 : 시간이 지남에따라 이동체의 위치 x가 2일 때 대응되는 y값
  • 과업(예측) : 임의의 시간이 주어지면 이 때 이동체의 위치는
    • 예측은 회귀 문제와 분류 문제로 나뉜다 
      • 회귀 : 목표치가 실수,  ex) 임의의 시간이 주어졌을 때 이동체의 위치
      • 분류 : 부류 혹은 종류의 값 ex) 주어진 데이터가 개인지 고양이인지

훈련집합

  • 가로축은 특징, 세로축은 목표치
  • 관측한 4개의 점이 훈련집합을 구성함
    위 예제에서 훈련집합 X = {x1, x2, x3, x4} , Y = {y1, y2, y3, y4}

가설 : 데이터의 양상이 직선 형태를 보임 → 모델(가설)을 직선으로 선택

가설인 직선 모델의 수식 

  • 정확하게 어떤 직선인지는 모르겠지만 y = wx + b의 형태에 직선 (2개의 매개변수 w와 b)

기계 학습의 훈련

  • 주어진 문제인 예측을 가장 정확하게 할 수 있는 최적의 매개변수를 찾는 작업
  • 처음은 의의의 매개변수 값에서 시작하지만 , 개선하여 정량적인 최적 성능에 도달

f1직선(가설)을 보면 실제값(점)과 많은 차이가 있다는 걸 알 수 있다. 이 때 매개변수 w와 b값을 갱신하여 새로운 직선

f2직선(가설)을 보면 실제값(점)과 똑같지는 않지만 비슷하다는걸 알 수 있다. f1보다는 f2가 성능이 좋다는 걸 알 수 있음

f3직선(가설)을 보면 실제값과 일치한다. 이렇게 최적의 성능에 도달하게 하는것이 목표이다.

f3 = w = 0.5 b =2.0 

#가설(예측값) - 실제값 = 거리 (오차) 실제값과 거리가 가까울수록 정확하다

 

훈련을 마치면 , 추론을 수행

  • 새로운 특징에 대응되는 목표치의 예측에 사용
  • ex) 10.0순간의이동체 위치를 알고자하면 , f3(10.0) = 0.5*10.0 +2.0 = 7.0 이라 예측

훈련집합으로 학습한 개념들을 실제 문제에 적용하는 과정

 

기계 학습의 궁긍적인 목표는 훈련집합에 없는 새로운 데이터에 대한 오류를 최소화 
테스트 집합에 대한 높은 성능을 일반화 능력을 목표

 

 

기계학습의 필수요소

  1. 학습할 수 있는 데이터가 있어야 함
  2. 데이터의 규칙이 존재
  3. 규칙이 수학적으로 설명이 불가능해야 함 (수학적으로 설명이 가능하면 모델링하면 됨)

 

1차원과 2차원 특징 공간

모든 데이터를 정량적으로 표현되며, 특징 공간 상에 존재한다.

 

특징 공간은 데이터를 설명 하는 하나의 특징들이다 차원이 높아질수록 특징이 하나씩 늘어난다고 생각

체온과 두통에 따른 감기여부에 대한 2차원 데이터가 있다면

2차원의 특징 x  결과값 y

x=(체온,두통) , y = 감기 여부 

 

여러가지 다차원 특징 공간

다차원 특징 공간

d차원 데이터 

 특징 벡터 표기 x= (x1,x2,x3....xd)

d차원 데이터를 위한 학습 모델의 예

 직선 모델을 사용하는 경우 매개변수 = d+1

 2차 곡선 모델을 사용하면 매개변수 수가 지수적으로 증가 , 매개변수 수 = d^2+d+1

 

차원의 저주

  • 차원이 높아짐에 따라 발생하는 현실적인 문제들
  • 차원이 높아질수록 데이터가 많아지고 규칙을 찾기 힘들다

 

특징 공간 변환과 표현 문제

선형 분리 불가능한 원래 특징공간

위 처럼 직선모델을 사용 시 직선으로 분리가 안되는 데이터들은 75%정확도 한계를 가진다

이 때 공간 변환을 오른쪽 그림처럼 100% 정확도로 변환 가능하다.

 

표현 문제의 예

왼쪽그림을 직선으로 구분하는것은 불가능 하지만 좌표계를 원통좌표계로 바꾸기만 한다면 오른쪽 그림처럼 공간이 변한다. 이 때 직선으로 구분이 가능해짐

 

표현 학습

  • 좋은 특징 공간을 자동으로 찾는 작업

심층학습

  • 표현학습의 하나로 다수의 은닉층을 가진 신경망을 이용하여 최적의 계층적인 특징을 학습한다.

저급 특징(선, 구석점 등)으로 시작해서 추상화된 특징(얼굴, 바퀴 등) 추출

'DeepLearning' 카테고리의 다른 글

NVIDIA 딥러닝 기초 0. Tensorflow  (0) 2023.07.01
1-4 간단한 기계 학습의 예  (0) 2021.10.28
1-2 데이터 , 1-3 기계학습  (0) 2021.10.27