khann's IT와 경제 블로그

반응형

4차 산업혁명의 시대

사람들은 정보화사회라고 불렸던 3차 정보혁명으로써, 사회적인 연결의 욕망을 해결해냈다.

인터넷으로 전세계가 연결이 되며 정보의 바다에서 언제 어디서든 정보를 획득할 수 있었다.

정보들은 더욱더 넘쳐났고 SNS, Youtube등의 활성화로 정형화된 데이터 뿐만이아니라 비정형화된 데이터도 넘쳐나는 시대가 되었다.

 

이에 사람들은 넘쳐나는 데이터들로 자기표현과 자아실현의 욕망이 생겨났으며, 4차 산업혁명의 시대에 들어왔다.

4차 산업혁명은 지능 혁명이라고도 불리며 그 중심에는 인공지능(AI. Artificial intelligence)이 있다.

 

사람들은 인공지능을 통해 분리되어있던 On-line(1,2차 산업)과 Off-line(3차 산업)을 융합하여 의사결정을 대신할 수 있게 되며 미래의 Off-line상황을 예측할 수 있는 시대가 될 것이다.

 

 

인공지능(AI. Artificial intelligence)과 딥러닝(DL. Deep Learning)

그렇다면 딥러닝과 인공지능은 어떤차이가 있을까?

또한 머신러닝과 딥러닝과 인공지능은 어떤차이가 있을까?

 

 

인공지능은 스스로 의사결정 및 생각할수있는 인간의 지능을 인공적으로 구현한 지능을 말한다.

 

머신러닝은 그러한 인공지능을 구현하기 위해서, 스스로 학습하는 시스템 및 기술을 말한다.

 

딥러닝은 머신러닝을 구현하기 위해 딥러닝 알고리즘은 인공 신경망(Artificial Neural Network)에  '학습데이터'를 입력하면 정해직 수식을 반복하여 계산하여 최적화된 변수값인 '학습된 데이터'를 출력하는 기술을 말한다

인공지능과 머신러닝, 딥러닝의 관계

인공지능을 실현시키기 위해서는 딥러닝의 인공 신경망(Artifical Nerual Network)이 중요하다는 것을 알 수 있다.

 

인공신경망(Artificial Neural Network)

인공신경망은 생물학의 신경망에서 영감을 얻은 통계학적인 학습 알고리즘이다.

시냅스의 결합으로 네트워크를 형성한 모습으로 구현되었으며 아래와 같은 모습이다.

인공싱경망 예시

인공신경망은 입력층(Input Layer), 히든층(Hidden Layer), 출력층(Output Layer)로 구성되어있고 파란색원은 뉴런이라고 부른다.
은닉층(Hidden Layer)은 그림처럼 단층이면 단층 레이어, 여러 level로 구성되면 다층 레이어라고 부른다.

(이 은닉층이 다층화되면서 깊어지기 때문에 Deep Learning이라고 불린다..)

 

입력(Input)을 출력(Output)으로 변환해주는 은닉층에 존재하는 함수는 활성화 함수(Activation Function)이라고 한다.
활성화함수는 신호의 총합이 활성화를 일으키는지를 정하는 함수이다.

 

(사실, 이러한 신경망은 퍼셉트론(Perceptron)이라는 더 작은 개념의 확장판이다.

퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 알고리즘인데 AND게이트 OR게이트같이 0과 1의 입력으로 0 또는 1을 출력하는 알고리즘이라고 생각하면 된다.)

 

다양한 활성화함수(Activation Function)

활성화 함수는 히든층에서 입력값에 대해 활성화가 일으켜지는지에 대해 정하는 함수라고 말했다.

즉 임계값을 경계로 출력이 바뀌는 함수이다.

 

활성화함수는 반드시 비선형 함수여야 하는데, 아래에 활성화함수로 쓰이는 후보가 있다.

 

1. 시그모이드 함수

실함수로써 S자형 곡선 또는 시그모이드 곡선을 갖는 수학 함수이다.

시그모이드 공식

 

시그모이드 그래프

시그모이드 함수를 파이썬으로 구현해보면 아래와 같다.

1
2
def sigmoid(x):
    return 1/(1+np.exp(-x))
cs

 

 

 

2. ReLU 함수

최근 주로 이용되는 함수이다.

x가 0이거나 0보다 이하일때는 0을 리턴하다가

x가 0보다 커지면 x를 출력하는 함수이다. 

 

ReLu 함수 그래프

 

ReLu함수를 파이썬으로 구현해보면 아래와 같다.

1
2
def sigmoid(x):
    return 1/(1+np.exp(-x))
cs

 

 

최근 인공지능, 딥러닝에서는 활성화함수로 시그모이드 함수보다는 ReLU함수를 주로 이용한다.

 

그 이유는 첫번째, Gradient Vanishing문제이다.

시그모이드 함수의 기울기(Gradient)는 항상 0과 1 사이의 값이 나온다.

그런데 은닉층이 9개 ~ 10개 정도되는 딥러닝을 할 때 layer를 거듭할수록 계속해서 Gradient를 거듭하게 되는데,

거듭할수록 0.xx를 계속 곱하다 보니 Gradient가 0에 수렴하게 되는 문제가 발생한다.

 

두 번째, 함수의 중심이 0이 아니라 학습이 느려질 수 있다.

딥러닝의 과정이 결국 미분의 연속인데 딥러닝의 과정 속에서 중심값이 0이 아니면 학습을 더디게 하는 원인이 된다.

 

 

여기까지 인공지능, 딥러닝의 기본적인 개념을 소개했다.

그러나 퍼셉트론으로 선형함수 및 활성화함수의 정확한 이해라던지, 소프트맥스에 대한 얘기는 다 하지 못했다.

 

 

다음 포스트부터는 딥러닝에 초점을 맞춰 깊게 들어가며 이번에 다 설명하지 못한 개념과 설명한 개념이더라도 다시 짚어가며 얘기해보도록 하겠다.

 

 

 

피드백은 언제든지 환영입니다.

 

반응형

이 글을 공유합시다

facebook twitter googleplus kakaostory naver