화이트 모드로 보시길 권장합니다

[AI Friends School] 시리즈는 MicroShcool에서 진행하는 온라인 인공지능 학습 학교이다.

 

AI Friends School 강의 내용을 말하기 전, AI Friends School에선 어떠한 것을 배우는지 알아보자

 

AI Friends School이란?

AI Friends School은 인공지능 기술을 적용해 세상의 문제를 해결할 수 있는 시티즌 디벨로퍼로 성장하는 것을 목표로 한다.

-AI Friends School 온라인 과정 ( 36차시, 3개월 )-1. 인공지능 들어가기(1차시 ~ 10차시) 2. 인공지능·영상처리 이론(11차시 ~ 15차시) 3. 인공지능·영상처리 실습(16차시 ~ 23차시) 4. 인공지능·음성 / 자연어 처리 이론(24차시 ~ 28차시) 5. 인공지능·음성 / 자연어 처리 실습(29차시 ~ 36차시)


 

일차함수와 머신러닝

일차함수

일차함수는 인공지능의 근본이라 할 수 있다.

일차 함수의 기본 수식은 ƒ(x)=ax+b형태이고, 인공지능에선 모델을 기본적으로 H(x) = wx + b 형태로 표현한다.

w(Weight)와 b(Bias)를 찾는 것이 머신러닝의 핵심이다.

 

H(x) = wx + b ( 인공지능 모델 기본 형태 ): 

인공지능 모델의 형태를 표현하는 가장 기본적인 수식이다.

H(x) = wx + b; x의 의미

H(x) = wx + b : 문제에 영향을 미치는 요인을 변수 x로 표현한다.

H(x) = wx + b; w의 의미

H(x) = w+ b: 각 요인들이 문제에 얼마나 영향을 미치는지를 판단하여 가중치를 부여한다.

인공지능 모델 기본 형태 수식

H(x) = wx + b; H; Hypothesis : 통계학에서 ' 가설 '을 의미하며 ' 가설 '이란 ' 검증되지 않은 무언가에 대한 설명 '이다.

H(x) = w+ b; W; Weight : 영향을 미치는 정도, 즉 ' 가중치 '를 의미한다.

H(x) = wx + b; B; Bias :

' 편향성, 성향 '을 의미하며, 하나의 뉴런으로 입력된 모든 값을 더한 후(가중합) 이 값에 더해주는 상수이다.

인공지능에서 Bias는 데이터가 편향된 정도를 나타내며, 최종적으로 출력되는 값을 조절하는 역할을 한다.

(ex.

' 게임을 좋아하는 성향의 친구 ', ' 게임을 싫어하는 성향의 친구 '가 게임을 할지 안 할지 정해야 할 때 시간, 파티, 게임 장르 등의 중요도(=가중치)가 같다고 가정. 

게임을 좋아하는 친구라면 게임을 할 것이고, 게임을 싫어하는 친구라면 게임을 안 할 것이다.

이와 같이 각 조건에 대한 값이 같더라도 성향에 따라 값의 결과가 달라지기 때문에, ' 성향; Bias '값을 추가하는 것이다. )

 

머신러닝 기본적인 학습 방법

어떠한 수학적 규칙이 있는 ' 문제 '를 예측할 때 수학이 어느 정도 학습된 사람의 경우 그 문제의 값을 계산해 낼 수 있다.

머신러닝 이전의 컴퓨터의 경우 예측식( H(x) = wx + b ) 외에는 어떠한 정보도 가지고 있지 않기에 w, b를 랜덤 하게 설정.

랜덤 하게 설정된 w, b를 통해 도출된 예측값( H(x) )이 사용자가 찾던 값이 아니라고 알려줘야 한다.

실제 정답값(y)과 도출된 예측값의 차이를 알려줘야 하는데, H(x) - y를 구하는 것을 cost, loss라고 한다.


 

Cost Function

Cost Function

cost의 값을 구하는 함수이다.

컴퓨터가 세운 가설 H(x) = wx + b에서 w와 b값의 변화에 따른 정답 y와의 차이인 cost를 계산하기 위해 사용되는 식이다.

컴퓨터가 예측한 값이 얼마나 틀렸는지 알려주기 위해선 정답값과 예측값의 차이가 중요하다.

MSE나 MAE의 식을 보면 차이를 그냥 더하는 것이 아닌 차이의 제곱값 혹은 절댓값을 더해서 구해준다.

위 그래프와 같이 정답값과 예측값을 만나는 점을 중심으로 한쪽은 음수, 한쪽은 양수가 나오게 되는데, 음수와 양수의

차이가 동일할 경우 두 차이값의 합이 0이 나오게 되며, 컴퓨터가 예측을 정확히 했다고 판단할 수 있기에 이를 방지하기 위해 차이값을 제곱값 혹은 절댓값으로 변경하여 양수화 한다.

( cost function의 cost 값을 구하는 방식인 MSE와 MAE와 관련된 내용은 아래 글에서 확인할 수 있다. )

[AI Friends School] - [AI Friends School 5차시] 인공지능의 성능 평가 및 개선 방법

 

[AI Friends School 5차시] 인공지능의 성능 평가 및 개선 방법

화이트 모드로 보시길 권장합니다 [AI Friends School] 시리즈는 MicroShcool에서 진행하는 온라인 인공지능 학습 학교이다. AI Friends School 강의 내용을 말하기 전, AI Friends School에선 어떠한 것을 배우는

smcjungbumc.tistory.com


Cost Function 계산 방법

cost Function을 그래프로 표현할 경우

Cost Function을 그래프로 표현하면 가로축 w(or bias), 세로축 cost값으로 이차함수 모양이다.

이차함수의 꼭짓점은 실제 값과 예측값의 차이가 최소인 지점이다.

cost가 최소인 값을 찾기 위해 꼭짓점을 찾는 것은 매우 중요하며, cost값이 최소인 w(or bias)값을 찾아야 한다.

이때 꼭짓점은 기울기가 0인 값이 최솟값이하는 사실을 이용해 문제를 해결할 수 있으며, 특정 지점의 기울기 값을 구하기 위해 미분이라는 개념이 사용된다.

위 그래프와 같이 컴퓨터가 cost가 최소인 지점을 알아서 변경해 가며 찾는 과정을 ' 컴퓨터가 학습한다 '라고 하며 

' 학습이 끝났다 '라는 말은 cost값에 도착했다는 것을 의미한다.


 

경사하강법

경사하강법( Gradient descent )

경사하강법이란 함수의 기울기를 구해, 기울기가 낮은 쪽으로 이동시키며 극값(최적 값)이 될 때까지 이를 반복하는 것이다

경사를 타고 내려가며 값을 찾는다는 의미로 ' 경사하강법 '이라 불린다.

( 경사하강법에 대한 더욱 자세한 내용은 추후 경사하강법의 대한 개별의 글에서 다루겠다. )

 

ex.

w = 100 인 지점을 찾는 과정이다.

컴퓨터가 처음 랜덤으로 설정한 w값이 70일 경우 cost가 크기 때문에 w를 증가시켜 오른쪽으로 이동시켜야 한다.

w=70일 때 기울기가 음수이므로 w를 증가시켜 오른쪽으로 이동시킨다.

컴퓨터가 랜덤으로 설정한 w값이 300일 경우 cost가 크기에 w를 감소시켜 왼쪽으로 이동시켜야 한다.

w=300일 때 기울기가 양수이므로 w를 감소시켜 왼쪽으로 이동시켜야 한다.

 

위와 같은 방법을 하며 사용자가 원하는 답인 기울기가 0인 지점을 찾아야 한다.


 

딥러닝

딥러닝 구성 방법

딥러닝은 일차함수를 이용하여 모델을 설정하는 것이 머신러닝과 동일하지만, 

일차함수를 여러 개로 쌓아 복잡한 과정을 학습한다.

인공 신경망에서 각각의 가충지를 갖는 여러 개의 자극(변수) 값을 합해 일정 임계치 이상이 되면 출력을 활성화, 아닐 경우 비활성화한다.

위와 같은 인공 신경망을 여러 개 연결하여 다층구조로 만들어 구현한 기술이 딥러닝이다.

딥러닝에서는 다층 구조의 입력이 여러 개 있기에 입력 신호 변수 x₁, x₂, x₃, x₄로 표현한다.

( 머신러닝, 딥러닝, 뉴런 등과 관련된 내용은 아래 글에서 확인할 수 있다. )

딥러닝과 머신러닝의 구성 방법

[AI Friends School] - [AI Friends School 3차시] 인공지능의 범주와 개념

 

[AI Friends School 3차시] 인공지능의 범주와 개념

화이트 모드로 보시길 권장합니다 [AI Friends School] 시리즈는 MicroShcool에서 진행하는 온라인 인공지능 학습 학교이다. AI Friends School 강의 내용을 말하기 전, AI Friends School에선 어떠한 것을 배우는

smcjungbumc.tistory.com


뉴런의 입력신호 판단

뉴런은 여러 뉴런에서 온 입력 신호의 합으로 판단을 한다.

하지만 이때 단순하게 x₁ + x₂ + x₃ + x₄로 표현하는 것이 아닌 각 신호가 가진 입력에 대한 중요도를 입력 신호에 반영하여 입력변수에 w(Weight)를 곱하는 형태로 표현한다.

각 입력변수에 w를 적용하여 합한 최종 예측값  w₁*x₁ +w₂* x₂ + w₃*x₃ + w₄*x₄+b(Bias)가 활성화 여부를 결정하는 임계치𝜽보다 크면 활성화, 작으면 비활성화한다. 

가중치를 반영한 변수의 합이 임계치 이상이 되면 다음 신호로 전달한다는 의미로 숫자 1을, 아닐 경우 0으로 표현한다. 최종 예측값에 대해 전파 여부를 결정하는 함수를 ' 활성화 함수 '라고 하며 함수 a로 표현할 수 있다.


활성화 함수의 종류

활성화 함수는 단순하게 한 가지 기준에 따라 0, 1로 이분화하는 것이 아니라 여러 형태의 함수가 존재한다.

대표적으로 '시그모이드(Sigmoid), 탄젠트(Tanh), 렐루(ReLU)' 함수가 있다.

 

시그모이드 함수( Sigmoid Function ) :

x의 값에 따라 0~1을 출력하는 S자형 함수이다.

Sigmoid 함수 그래프

 

탄젠트 함수( Hyperbolic Tangent function; Tanh) :

쌍곡선 함수중 하나로, Sigmoid 함수를 변형한 것이다.

x의 값에 따라 -1 ~ 1을 출력한다

Tanh 함수 그래프

 

렐수 함수( Rectified Linear Unit; ReLU ) :

가장 많이 사용되는 활성화 함수중 하나이다.

Sigmoid, Tanh 함수보다 학습이 빠르고, 연산 비용이 적으며, 구현이 매우 간단하다는 특징이 있다.

x의 값이 음수일 경우 0을, x의 값이 양수일 경우 그 값을 그대로 출력한다.

ReLU 함수 그래프


 

인공지능에 필요한 수학

선형대수학

수학적 대상에 대해 덧셈, 곱셈 등의 연산을 정의하고, 그 연산에 따라 나타나는 여러 성질과 수학적 구조를 연구하는 학문.

어떻게 조사 대상을 형식화하는지 연구하는 학문이다.

 

백터

인공지능의 경우 벡터를 확장시킨 행렬 개념, 벡터의 공간적 성질, 내적에 대한 내용을 다룬다.

보다 수학적으로 인공지능을 편리하게 표현하고, 응용하는데 도움을 준다.

 

미적분학

알고리즘을 이해, 훈련 과정을 최적화하는 방법을 배우는 학문이다.

일반 수학의 경우 함수를 정의역, 공역, 치역이라는 용어로 집합 사이의 대응, 관계 측면을 정의한다.

미적분에서는 함수의 극한, 미분을 배우며 변화의 측면에서 함수를 보게 된다. 

 

확률론

확률에 대해 연구하는 수학의 한 분야이다.

특정 사건이 발생할 확률이 x라 할 때  실제로 해당 사건이 발생할 기댓값을 찾는 문제를 연구하는 학문이다.

 

통계론

데이터의 특징들을 추출하여 많은 데이터의 중요한 속성만을 간추리는 추상화 및 요약에서 큰 역할을 한다.

인공지능에서 실제 데이터 작업과 함께 모델 설계에서 매우 중요한 역할을 하며, 모델이 얼마나 적절하게 만들어졌는지 

확인하는 것도 통계의 역할이다.

특정 모델을 설계하였을 때 이 모델이 현실 데이터와 얼마나 비슷하게 예측하는지  통계를 활용하여 추측, 판단한다.

과대적합을 방지하기 위해서도 활용된다. 

( 과대적합, 과소적합 등 인공지능 모델을 설계하며 발생하는 문제에 대한 내용은 아래 글에서 확인할 수 있다. )

[AI Friends School] - [AI Friends School 5차시] 인공지능의 성능 평가 및 개선 방법

 

[AI Friends School 5차시] 인공지능의 성능 평가 및 개선 방법

화이트 모드로 보시길 권장합니다 [AI Friends School] 시리즈는 MicroShcool에서 진행하는 온라인 인공지능 학습 학교이다. AI Friends School 강의 내용을 말하기 전, AI Friends School에선 어떠한 것을 배우는

smcjungbumc.tistory.com

 

그 외 수학 개념

인공지능 모델을 설계할 때에는 위에서 설명한 수학개념뿐만 아니라 더욱 다양한 수학 개념이 필요하다.

미분을 활용해 가장 빠른 해결책을 찾는 최적화 이론, 수많은 데이터를 간단하게 나타내는 모델링 방법의 회귀분석 등.

방금 말한 수학 개념은 위에서 설명한 수학 개념들을 기반으로 한다.


 

다음 차시에는 인공신경망의 구조&개념에 대해 배운다.

 

+ Recent posts