-
1강 인공지능 개요와 퍼셉트론과외 수업 자료/인공지능 기초 2023. 4. 28. 16:34
< 인공지능이란? >
인간이 가지고 있는 지적 능력을 컴퓨터에서 구현하는 다양한 기술이나 소프트웨어, 컴퓨터 시스템 등을 통틀어 일컫는 말즉, 간단히 말해서 AI는 인간처럼 사고하고 행동하는 컴퓨터를 만들려고 한다.
< 인공지능 분야의 구성 >
인공지능 (AI, Artifical Intelligence)
- 인간이 해야 할 일을 기계가 대신할 수 있는 모든 자동화에 해당
- 즉, 지능적인 인간의 행동을 모방하는 기계의 능력을 의미한다.
머신 러닝 (Machine Learning)
- 시스템이 경험을 통해 자동으로 학습하고 개설할 수 있도록 하는 AI의 Application 중 하나이다.
- 명시적으로 규칙을 프로그래밍하지 않으며 데이터로부터 의사결정을 위한 패턴을 스스로 학습한다.
< 인공지능 개발 배경 >
뇌의 정보처리 방법 모방
- 지능 컴퓨터에 도전
- 인공 신경망 (ANN, Artificial Neural Network) -> 1940년대에 개발
- 인간 지능에 필적하는 컴퓨터 개발이 목표
컴퓨터와 두뇌의 비교
- 폰 노이만 컴퓨터 -> 순차 명령 처리기
- 두뇌 -> 뉴런으로 구성, 고도의 병렬 명령어 처리기라고 볼 수 있다.
폰 노이만 구조 뉴런 (출처 : Wikipedia)
< 머신 러닝? >
비선형 관계를 처리하기 위해서 발전한 방법이다.
y = f(x)처럼 비선형적인 문제에서 f() 즉, function을 찾기 위한 방법이다.
기존의 방법이 데이터 x와 function F가 있으면 이를 통해서 y를 구하는 방식이지만 머신러닝의 경우 데이터 x, y를 입력하면 x, y의 관계를 학습으로 찾아내고 관계를 통해 목적 함수 f를 도출해 낸다.
- 기존 방법 : input x -> function -> y
- 머신 러닝 : input x, y -> x, y의 관계 학습 -> f() 도출
결과의 대한 해석과 설명보다는 정확한 예측을 하는 것에 초점이 맞추어져 있는 방법이다. 학습 자체가 black box 형태로 진행이 되기 때문에 학습 과정을 우리가 볼 수가 없다.
그래서 왜 이러한 결과가 도출되었는지 확실하게 증명하는 것이 어렵다.
머신러닝은 크게 supervised, un-supervised, reinforcement learning으로 구분된다.
1. Supervised learning ( 지도학습 )
Supervised learning은 데이터에 대한 정답 (label)이 주어지며 이 두 데이터를 사용하여 학습을 시키는 방법2. Un-supervised learning ( 비지도학습 )
Un-supervised learning은 데이터에 대한 정답 (label)이 주어지지 않으며 정답이 없는 각각의 데이터 간의 거리를 측정하여 그 측정된 거리를 군집화 화는 방식3. Reinforcement learning ( 강화학습 )
Reinforcement learning은 컴퓨터가 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법출처 : 메리츠종금증권 리서치센터 일반적인 머신러닝 모델을 훈련하기 위해서는 feature를 모델에 맞게 가공해줘야 한다는 단점이 있다.머신러닝 모델에 알맞은 형태로 데이터를 먼저 처리해줘야 할 필요가 있는 것이다.Ex) Linear regression의 경우 data를 scaling해주지 않으면 성능이 떨어지게 된다.그러나 딥러닝은 feature를 추출하는 것 초차도 학습을 통해 가능하다.이것이 딥러닝의 강점이다.
< 수학적 모델의 신경망 >
신경망 특성
- 학습 가능
- 뛰어난 일반화 능력
- 병렬 처리 가능
- 현실적 문제에서 더 우수한 성능
- 다양한 문제 해결 도구 (분류, 예측, 함수 근사화, 합성, 평가 등등)
신경망 개발의 기여
- 제한된 환경에서 실용적인 시스템을 만드는데 크기 기여
- 인간 지능에 필적하는 컴퓨터는 아직 만들지 못함
- 신경망을 기반으로 딥러닝으로 발전하게 됨
< 퍼셉트론 >
[ 개념 ]
- 다수의 신호를 입력으로 받아 하나 혹은 여러 신호를 출력
- 신호는 흐름을 가짐
- 신호의 총합이 임계치를 넘으면 1 or 0 을 출력
- 가중치는 해당 신호의 중요한 정도를 나타냄
퍼셉트론 예시 퍼셉트론을 통해서 위 그림의 파랑과 초록을 구분할 수 있는 빨간 직선을 얻는 것을 목표로 한다.
[ 구조 ]
도출 과정 퍼셉트론은 뉴러이 다른 뉴런으로 신호를 받는 다수의 값 x를 입력받고 입력된 값마다 가중치(weight)를 곱한다.
여기서 가중치가 클수록 입력 값이 중요하다는 것을 의미한다.
b는 bias를 의미하며 딥러닝 모델의 최적화의 중요 변수 중 하나이다. 일반적으로 입력값을 1로 고정하고 편향 b를 곱한 변수로 사용한다.
입력값과 가중치의 곱, 편향을 퍼셉트론으로 전달되고 퍼셉트론은 입력 받은 값을 모두 합산하는데, 합산된 결과값을 가중합이라고 부른다.
적절한 weight 값만 잘 찾으면 우리는 좋은 결괏값을 얻을 수 있을 것이다.
이를 수식으로 정리하면 아래와 같다.
단층 퍼셉트론 수식 [ 문제점 ]
단층 퍼셉트론으로 구하는 경계선은 1차원 함수의 형태이다.
그러므로 XOR 와 같은 복잡한 문제는 풀 수가 없다는 문제가 생긴다.
문제점 예시
< 다층 퍼셉트론 (Multi-Layer Perceptron, MLP) >
XOR 문제를 풀 수 없다는 sigle-layer perceptron의 문제점을 해결하기 위해서 제시된 방법이 Multi-Layer Perceptron(MLP)이다.
XOR 게이트는 기존의 AND, NAND, OR 게이트를 조합하면 만들 수 있다. 즉, 퍼셉트론의 관점에서는 다층의 퍼셉트론을 쌓아서 사용하면 문제가 해결된다는 것이다.
input layer와 output layer의 사이에 존재하는 층을 hidden layer (은닉층)이라고 부른다.
즉, MLP는 hidden layer가 존재하는 점이 single-layer perceptron과의 차이점이다.
예시 위 그림은 AND, NAND, OR 게이트를 조합하여 XOR 게이트를 구현한 다층 퍼셉트론의 예시이다.
XOR 예제에서는 hidden layer 1개 만으로 문제를 해결할 수 있지만, MLP는 본래 hidden layer가 1개 이상인 퍼셉트론을 말한다. 즉, XOR 외에 더 어려운 문제 같은 경우는 hidden layer를 더 많이 사용할 수도 있다는 것이다.
위 그림과 같이 hidden layer가 2개 이상인 신경망을 심층 신경망 (Deep Neural Network, DNN) 이라고 부른다.
이러한 신경망들의 weight를 사람이 수동으로 찾지 않고 기계가 학습을 통해 스스로 찾아 내도록 하면 그것이 머신러닝에서 말하는 학습과정이다.
이때, 학습하는 신경망이 DNN이면 feature extraction 과정이 모두 자동인 경우 우리는 그것을 Deep Learning이라고 부른다.
'과외 수업 자료 > 인공지능 기초' 카테고리의 다른 글
6강 Attention (0) 2023.07.25 5강 Representation Learning (표현 학습) (3) 2023.06.16 4강 Convolutional Neural Network (CNN) (1) 2023.06.16 3강 Binary Classification (0) 2023.05.31 2강 Linear Regression (3) 2023.05.10