본문 바로가기

머신러닝

[번역] 신경망(Neural Network)의 이해

원문 https://medium.com/fintechexplained/understanding-neural-networks-98e94251fb97

 

Understanding Neural Networks

Let’s Understand The Revolutionary Concept

medium.com

(대충 제가 이해하려고 번역한 거라 정확하지 않을 수 있습니다)

 

 

이 글은 신경망(Neural Network)의 기초에 대해 다룹니다.

 

왜 신경망에 집중하는걸까?

  • 신경망 프로젝트의 수가 기하급수적으로 늘고 있습니다.
  • 심장마비를 정확하게 예측합니다.
  • 금융기관이 수익을 창출하고 비용을 절감하기 위해 사용합니다.

신경망의 예시

확실히 신경망은 혁명적인 머신 러닝 프로젝트의 핵심에 있습니다.

 

신경망이란?

Alexander Bain(1873)과 William James(1890)는 인공 신경망의 개념을 이렇게 제안했습니다.

인공 신경망은 생물학적 신경망으로부터 영감을 받는다

생물학적 신경망과 마찬가지로, 인공 신경망은 자신이 마주한 경험을 바탕으로 환경(environment)에 대한 이해와 지식을 끊임없이 업데이트합니다.

 

인공 신경망은 입력(input)에 대한 연산을 함께 수행하는 수학적 알고리즘의 세트입니다. 이러한 연산들은 출력(output)을 만들어냅니다.

 

 

따라서 수학적으로 상호연결된 이러한 공식들은 인공 신경망(artificial neural network, ANN)이라고 알려졌습니다.

 

위 그림의 인공 신경망은 4개의 층을 가지고 있습니다

  1. 입력층 1개
  2. 출력층 1개
  3. 은닉층(hidden layer) 2개

또한 총 10개의 뉴런을 가지고 있습니다

  1. 입력 뉴런 2개
  2. 은닉 뉴런 6개 - 각 은닉층마다 3개씩
  3. 출력 뉴런 2개

이는 데이터가 단방향(입력 레이어 → 출력 레이어)으로 움직이는 피드포워드(feed-forward) 신경망의 예시입니다.

  • 각각의 뉴런은 시냅스를 통해 다른 뉴런과 연결되어있음
  • 각각의 뉴런은 하나 이상의 뉴런으로부터 가중치(weight), 바이어스(bias)와 함께 입력을 받는다. 활성화 함수(activation functions)는 입력을 요구받았던 출력으로 변환한다.

 

왜 신경망을 사용해야할까?

신경망은 복합적인 자료 구조 사이의 관계를 이해하는 데 도움을 줄 수 있습니다. 또한 신경망은 훈련된 지식을 통해 복합적인 자료 구조의 행동을 예측할 수 있습니다.


데이터의 선형 및 비선형 관계를 예측하는 데 사용될 수 있습니다.


신경망은 이미지를 가공할 수 있으며, 더 나아가 자동차 운전법이나 다음번에 어떤 금융 거래를 할 것인지와 같은 복잡한 결정을 내릴 수도 있습니다.

 

단점은?

주관적 견해이지만 사람들은 신경망이 어떻게 답을 만들어냈는지 사업적으로 납득시키는데 어려움을 겪습니다. 따라서 비즈니스 사용자들은 random forests와 regression와 같은 간단한 머신러닝 모델을 비교할 때 신경망의 답을 신뢰하는 것을 약간 꺼립니다.

 

신경망은 정교하며 복잡한 문제를 해결할 수 있지만, 대부분의 머신러닝 알고리즘에 비해 느립니다. 또한 학습 데이터를 과잉적합하도록(over-fitting) 만들 수 있습니다.

 

 

가중치(weight)와 바이어스(bias)를 이해하고 싶다면(번역)

신경망의 활성화 함수의 종류에 대해 알고 싶다면(번역)  

신경망의 층을 이해하고 싶다면(번역)

신경망의 뉴런의 작동 방식을 알고 싶다면(원문)