사용자:JiminP/인공신경망

인공신경망 편집

모델 편집

인공지능 분야에서 신경망은 보통 인공신경망을 지칭한다. 인공신경망은 본질적으로 함수  ,  에 대한 분포, 또는   에 대한 분포를 정의하는 간단한 수학적 모델이고, 가끔씩 특정한 학습 알고리즘이나 학습 규칙과 긴밀하게 연계되어 있기도 한다. 인공신경망이라는 단어는 보통 이러한 함수들의 모임에 대한 정의를 뜻하고, 이 모임의 구성원들은 식의 인자를 바꾸거나, 연결 가중치를 바꾸거나, 뉴런의 수나 연결 정도와 같은 구조에 대한 상세적인 것을 바꿈으로써 얻어진다.

망 함수 편집

단어 '인공신경망'에서 은 각 시스템에 있는 여러 층의 뉴런 간의 연결을 의미한다. 예를 들어 세 층이 있는 시스템이 있다면, 첫 번째 층은 시냅스를 통해 두 번째 층의 뉴런들로 데이터를 보내는 입력 뉴런들이 있고, 더 많은 시냅스를 통해 세 번째 층의 출력 뉴런으로 신호를 보내는 식이다. 시스템이 더 복잡해질수록 뉴런 층의 수도 더 많아지고, 그 층 안에 있는 입력 뉴런과 출력 뉴런들의 수도 많아질 것이다. 이 시냅스들은 계산 과정에서 데이터 값을 조절하는 가중치 값을 저장한다.

인공신경망은 보통 세 가지의 인자를 이용해 정의된다.

  1. 다른 층의 뉴런들 사이의 연결 패턴
  2. 연결의 가중치를 갱신하는 학습 과정
  3. 뉴런의 가중 입력을 활성화도 출력으로 바꿔주는 활성화 함수

수학적으로, 뉴런의 망 함수  는 다른 함수  들의 합성으로 정의되고, 이 함수들 또한 다른 함수들의 합성으로 정의될 수 있다. 이 함수는 화살표가 변수들 사이의 의존 관계를 나타내는 망 구조로써 편리하게 나타낼 수 있다. 자주 쓰이는 종류의 합성으로는 비선형 가중 합이 있는데, 쌍곡선함수와 같은 미리 정의된 함수   (주로 활성화 함수라 불림[1])가 있을 때  로 나타내어지는 함수를 뜻한다. 이하 설명의 편리함을 의해 함수  들의 모임을 간단히 벡터  로 취급하자.

 
인공신경망 의존 그래프

이 그림은 변수들 사이의 의존 관계를 화살표로 나타내는 망 구조로  를 분해해 나타낸 것이다. 이 그림은 두 가지 관점으로 해석할 수 있다.

첫 번째 관점은 함수로써 바라보는 것이다. 입력값  가 3차원 벡터  로 변환 된 다음, 2차원 벡터  로 변환되고 최종적으로 출력값  으로 변환된다. 이 관점은 최적화에 대해 이야기할 때 제일 흔하게 접할 수 있다.

두 번째 관점은 확률론적으로 바라보는 것이다. 확률변수  는 확률변수  에 의존하고, 이것은  에 의존하고, 또 이것은 확률변수  에 의존한다. 이 관점은 그래프 모형에 대해 이야기할 때 제일 흔하게 접할 수 있다.

이 두 관점은 대체로 같다고 볼 수 있다. 두 경우 모두 이 망 구조에 대해 각각의 층의 구성 요소는 서로 독립적이다 ( 의 요소들은  로부터의 입력이 주어졌을 때 서로 독립이다). 이것은 구현할 때 어느 정도의 병렬화를 가능하게 해 준다.

 
재귀적 인공신경망 의존 그래프에 대한 두 다른 묘사

앞의 예와 같은 신경망은 의존 관계를 나타내는 화살표가 한 방향으로만 나아가는 유향 비순환 그래프이기 때문에 전향 신경망이라고 불린다. 순환이 있는 망은 재귀 신경망이라고 불린다. 재귀 신경망은 그림 위쪽과 같이  가 자기 자신에 의존적인 것으로 나타내어지지만, 시간적 의존 관계는 보여지지 않는다.

학습 편집

신경망이 관심을 받는 제일 큰 요소는 바로 학습이 가능하다는 것이다. 해결해야 되는 주어진 과제와 함수  들의 모임이 주어졌을 때, 학습을 한다는 것은 과제를 어떤 최적화된 방법으로 푸는  관측값들을 이용해 푼다는 것이다.

학습을 한다는 것은 최적해  에 대해    인 비용 함수  를 정의하는 것을 수반한다. 다시 말해, 정의된 함수  에 대해, 최적해의 비용보다 더 적은 비용을 필요로 하는 해답은 존재하지 않는다는 것이다. (수학적 최적화 참고.)

비용 함수  는 특정한 해답이 해결할 문제의 최적해에 대해 얼마나 떨어져 있는지에 대한 측도이기 때문에 학습에 있어 중요한 개념이다. 학습 알고리즘은 해답들의 모임  에서 최소 비용을 필요로 하는 함수를 찾아나가는 식으로 작동한다.

해답이 어떤 데이터에 의존적인 경우, 비용은 관측값에 대한 함수가 되어야 하며, 그렇지 않을 경우에는 데이터와 관련된 어떤 것도 모델링할 수 없게 된다. 많은 경우 비용은 근사될수만 있는 통계로 주어진다. 간단한 예로, 어떤 분포  에서 뽑아낸 데이터 쌍  에 대해 비용  을 최소화하는 모델  을 찾는 문제를 생각해 보자. 실용적으로는 분포  에서 유한한  개의 샘플만을 뽑아낼 수 있으므로, 이 예의 경우  , 즉 전체 데이터 집합이 아니라 데이터의 샘플에 대한 비용만 최소화될 수 있을 것이다.

 이 매우 크거나 무한하다면, 새 예제가 주어질 때마다 비용이 부분적으로 최소화되는 직결 기계 학습을 사용해야 한다.  가 고정되어 있을 때 직결 기계 학습을 종종 사용하기는 하지만, 분포가 시간에 따라 서서히 변할 때 사용하는 것이 더 유용하다. 신경망을 사용할 때에는, 직결 기계 학습을 유한한 자료 집합에 대해 자주 사용하기도 한다.

비용 함수 고르기 편집

임의의 비용 함수를 그때그때 정의할 수도 있지만, 일반적인 경우 (볼록성과 같은) 원하는 성질을 가지거나 (확률론적 공식화에서 모델의 사후 확률을 비용의 역으로 생각하는 것과 같이) 문제의 특정한 공식화에서 자연스레 나타난다던지 하는 이유로 특정한 비용 함수를 사용한다. 결과적으로 비용 함수는 원하는 과제에 따라 달라진다. 학습 과제는 학습 패러다임에 따라 아래와 같이 세 분류로 묶을 수 있다.

학습 패러다임 편집

학습 패러다임에는 크게 지도 학습, 자율 학습, 준 지도 학습이 있으며, 각각이 특정한 추상적인 학습 과제에 대응된다.

지도 학습 편집

지도 학습에서는 예제  들의 집합이 주어졌을 때, 가능한 함수  들의 목록 중 예제에 제일 적합한 함수를 고르는 것을 목표로 한다. 즉, 주어진 데이터로부터 함수를 추론하는 것이다. 이 때 비용 함수는 주어진 데이터가 추론한 함수와 얼마나 어긋나느냐에 따라 달려 있고, 문제에 대한 사전 지식을 암시적으로 포함하고 있다.

흔히 모든 예제쌍에 대한 망의 출력  과 목표값  의 평균 제곱 오차를 최소화하는 평균 제곱 오차를 비용 함수로 사용한다. 이 비용을 최소화하기 위해 다층 퍼셉트론이라 불리우는 신경망의 한 분류에 경사 하강법을 이용한다면, 이것은 신경망을 학습하기 위해 널리 쓰이는 오차역전파법이 된다.

지도 학습 패러다임에 해당하는 과제에는 패턴 인식 (또는 분류)와 회귀분석 (또는 함수 근사)가 있다. 지도 학습은 음성인식이나 모션 인식 분야에 나타나는 순차적 데이터에도 적용시킬 수 있다. 이것은 현재까지 얻어진 답의 품질에 대해 계속해서 피드백을 주는 함수의 형태로서의 "선생님"과 같이 배우는 것으로 생각할 수 있다.

자율 학습 편집

자율 학습에서는 데이터  가 주어졌을 때 데이터  와 망의 출력  에 대한 임의의 비용 함수를 최소화한다.

비용 함수는 할 과제(모델링할 것)와 선험적 가정(모델, 모델의 변수와 관측된 변수에 대한 암시적인 성질)에 따라 결정된다.

간단한 예로, 비용함수  가 주어져 있고  가 상수일 때 모델  에 대해 생각 해 보자. 비용을 최소화하면 데이터의 평균인   값이 나올 것이다. 비용 함수는 이것보다 훨씬 더 복잡해질 수 있고, 그 꼴은 어디에 사용되느냐에 따라 달려 있다. 예를 들어, 압축과 관련된 과제에서는    사이의 상호 정보량과 관련이 있는 비용 함수를 사용할 수 있고, 통계 모델링에서는 데이터가 주어졌을 때 모델의 사후 확률과 관련지을 수 있을 것이다. (참고로 두 경우 모두 이 값을 최소화하는 게 아니라 최대화해야 된다. 이론적으로는 이 값의 역수를 비용 함수로 사용하면 될 것이다.)

자율 학습 패러다임에 속하는 과제는 일반적으로 근사와 관련된 문제들이다. 클러스터링, 확률 분포의 예측, 데이터 압축, 베이지언 스팸 필터링 등에 이것을 응용할 수 있다.

준 지도 학습 편집

준 지도 학습에서 데이터  는 주어지지 않고, 대신 행위자가 환경과 상호 작용을 함으로써 생성된다. 시간의 매 순간  마다, 행위자는 행동  를 취하고 환경에서  와 순간적인 비용  가 알려지지 않은 특정한 법칙에 따라 생성되어 관측된다. 이 때 목표는 예상되는 장기적 (누적) 비용을 최소화하는 특정한 행동을 고르는 정책을 찾는 것이다. 환경의 법칙과 각각의 정책에 따른 장기적 비용은 보통 모르지만, 예측할 수는 있다.

형식적으로 말해 환경은 상태  와 행동  이 순간적인 비용의 분포  , 관측 분포  , 상태 천이 분포  와 함께 주어진 마르코프 결정 프로세스로 모델링되며, 정책은 관측값들이 주어졌을 때 행동에 대한 조건부 분포로 정의된다. 이 두가지는 함께 마르코프 연쇄를 이룬다. 목표는 비용을 최소화하는 정책, 즉, 비용이 최소인 마르코프 연쇄를 찾는 것이다.

인공신경망은 전체적인 알고리즘의 일부로서 준 지도 학습에 자주 이용된다.[2][3] 동적 계획법은 베르트세카스(Bertsekas)와 치치클리스(Tsitsiklis)[4]에 의해 인공신경망과 결부되었으며, 차량 경로 설정 문제,[5] 천연 자원 관리[6][7], 의학[8]등에 관련된 다차원 비선형적 문제에 적용되었는데, 원래 제어 문제의 해답을 수치적으로 근사하기 위한 이산화 격자의 간격을 넓혀서 생기는 정확도 감소 문제를 인공신경망이 완화시킬수 있기 때문이다.

준 지도 학습 패러다임에 속하는 과제에는 제어 문제, 게임, 순차적 결정 문제 등이 있다.

학습 알고리즘 편집

실질적으로 인공신경망을 학습시키는 것은 비용을 최소화하는 모델을 허용된 모델의 집합에서 고르는 것이다. (베이즈 확률론에서는 허용된 모델의 집합 상에서 모델의 분포를 결정짓는 것이다.) 인공신경망을 학습시키는 데에는 많은 알고리즘이 존재하고, 그 중 대부분은 최적화 이론추정 이론을 접목해 응용한 것으로 볼 수 있다.

Most of the algorithms used in training artificial neural networks employ some form of gradient descent, using backpropagation to compute the actual gradients. This is done by simply taking the derivative of the cost function with respect to the network parameters and then changing those parameters in a gradient-related direction.

Evolutionary methods,[9] gene expression programming,[10] simulated annealing,[11] expectation-maximization, non-parametric methods and particle swarm optimization[12] are some commonly used methods for training neural networks.

  1. “The Machine Learning Dictionary”. 
  2. Dominic, S., Das, R., Whitley, D., Anderson, C. (July 1991). 〈Genetic reinforcement learning for neural networks〉. 《IJCNN-91-Seattle International Joint Conference on Neural Networks》. IJCNN-91-Seattle International Joint Conference on Neural Networks. Seattle, Washington, USA: IEEE. doi:10.1109/IJCNN.1991.155315. ISBN 0-7803-0164-1. 2012년 7월 29일에 확인함. 
  3. Hoskins, J.C.; Himmelblau, D.M. (1992). “Process control via artificial neural networks and reinforcement learning”. 《Computers & Chemical Engineering》 16 (4): 241–251. doi:10.1016/0098-1354(92)80045-B. 
  4. Bertsekas, D.P., Tsitsiklis, J.N. (1996). 《Neuro-dynamic programming》. Athena Scientific. 512쪽. ISBN 1-886529-10-8. 
  5. Secomandi, Nicola (2000). “Comparing neuro-dynamic programming algorithms for the vehicle routing problem with stochastic demands”. 《Computers & Operations Research》 27 (11–12): 1201–1225. doi:10.1016/S0305-0548(99)00146-X. 
  6. de Rigo, D., Rizzoli, A. E., Soncini-Sessa, R., Weber, E., Zenesi, P. (2001). 〈Neuro-dynamic programming for the efficient management of reservoir networks〉 (PDF). 《Proceedings of MODSIM 2001, International Congress on Modelling and Simulation》. MODSIM 2001, International Congress on Modelling and Simulation. Canberra, Australia: Modelling and Simulation Society of Australia and New Zealand. doi:10.5281/zenodo.7481. ISBN 0-867405252. 2012년 7월 29일에 확인함. 
  7. Damas, M., Salmeron, M., Diaz, A., Ortega, J., Prieto, A., Olivares, G. (2000). 〈Genetic algorithms and neuro-dynamic programming: application to water supply networks〉. 《Proceedings of 2000 Congress on Evolutionary Computation》. 2000 Congress on Evolutionary Computation. La Jolla, California, USA: IEEE. doi:10.1109/CEC.2000.870269. ISBN 0-7803-6375-2. 2012년 7월 29일에 확인함. 
  8. Deng, Geng; Ferris, M.C. (2008). “Neuro-dynamic programming for fractionated radiotherapy planning”. 《Springer Optimization and Its Applications》 12: 47–70. doi:10.1007/978-0-387-73299-2_3. 
  9. de Rigo, D., Castelletti, A., Rizzoli, A.E., Soncini-Sessa, R., Weber, E. (January 2005). 〈A selective improvement technique for fastening Neuro-Dynamic Programming in Water Resources Network Management〉. Pavel Zítek. 《Proceedings of the 16th IFAC World Congress – IFAC-PapersOnLine》. 16th IFAC World Congress. Prague, Czech Republic: IFAC. doi:10.3182/20050703-6-CZ-1902.02172. ISBN 978-3-902661-75-3. 2011년 12월 30일에 확인함. 
  10. Ferreira, C. (2006). “Designing Neural Networks Using Gene Expression Programming” (PDF). In A. Abraham, B. de Baets, M. Köppen, and B. Nickolay, eds., Applied Soft Computing Technologies: The Challenge of Complexity, pages 517–536, Springer-Verlag. 
  11. Da, Y., Xiurun, G. (July 2005). T. Villmann, 편집. 《An improved PSO-based ANN with simulated annealing technique》. New Aspects in Neurocomputing: 11th European Symposium on Artificial Neural Networks. Elsevier. doi:10.1016/j.neucom.2004.07.002. 
  12. Wu, J., Chen, E. (May 2009). Wang, H., Shen, Y., Huang, T., Zeng, Z., 편집. 《A Novel Nonparametric Regression Ensemble for Rainfall Forecasting Using Particle Swarm Optimization Technique Coupled with Artificial Neural Network》. 6th International Symposium on Neural Networks, ISNN 2009. Springer. doi:10.1007/978-3-642-01513-7_6. ISBN 978-3-642-01215-0.