• 검색 결과가 없습니다.

가. 딥러닝 일반11)

물리모형을 통한 예측은 실제 수질의 검증된 물리 역학을 이용하므로, 모형에서 요구하는 세밀한 해상도 데이터를 구할 수 있을 경우 정확한 수준에서 예측할 수 있다. 하지만 물리모 형에서 요구하는 수준의 세밀한 공간해상도 데이터는 존재하지 않는다. 수질 예측과 같은 하위 격자망 구성 모형에서는 정확한 값을 알 수 없기 때문에 근삿값을 사용하게 된다. 예를 들면, 특정 격자망에서의 ‘수온’은 실제로는 수심별로, 구역별로 일정하지 않으나 하나의 값으로 단순화하여 측정하게 되고 이로 인한 편향(bias)이 발생할 수밖에 없다. 또한 물리 모형에서 요구하는 미지의 매개변수는 보정(calibrate)한 값을 사용하게 되는데, 적은 데이 터로 많은 매개변수를 추정해야 하므로 이에 따른 과다적합이 발생한다. 또한 모듈을 생성 하기 위해 각 시간 단계마다 다른 초기조건을 적용해야 하기 때문에 실시간 데이터를 실시 간으로 예측하는 것에 비효율적일 수 있다.

대안으로 회귀분석이나 시계열 예측 모형과 같은 전통적인 통계 모형을 생각해볼 수 있 다. 하지만 통계 모형이 기반하고 있는 기본 가정들이 복잡한 현상인 물환경 예측에 적합하 지 않기 때문에 예측 모형으로서의 효율성이 좋다고는 볼 수 없다.

딥러닝 알고리듬은 지난 10여 년간 빠르게 발전하여 다방면에서 예측 효율성이 있음을 증명하였다. 딥러닝 알고리듬은 기계학습(machine learning)의 일종이다. 기계학습 예측

11) Goodfellow, Bengio, Courville(2016)을 기반으로 작성하였음.

기법은 LASSO 추정, 랜덤 포레스트, SVM(Support Vector Machine)등의 알고리듬을 포함한다.

다층 퍼셉트론 MLP에서 시작된 딥러닝 알고리듬은 지나친 복잡성을 보완한 컨볼루션 신경망(Convolution Neural Network) 등장 이후 크게 향상된 예측력을 각 분야에서 증 명하고 있다.

1) DMLP

다층 퍼셉트론(MLP: MultiLayer Perceptron)은 생물의 신경망을 모방한 인공신경망 모형이다. 인공신경망의 각 노드(node)는 생물의 신경망에서의 뉴런을 모방하며, 노드의 연결을 통해 생물 신경망의 시냅스를 모방한다.   를  시점에서의 예측대상 변수라 하고, 를 예측에 사용하기 위한 입력변수들의  시점에서의 벡터라 하자. <그림 3-3>는 3개의 예측변수, p개의 입력변수가 있는 DMLP 구조를 예시로 그림으로 나타낸 것이다.

<그림 3-2>의 DMLP는 1~10개의 은닉층이 있고 각 은닉층은 1~100개의 노드로 구성되어 있으나, 더 많은 수의 은닉층 및 은닉 노드를 사용하는 것도 물론 가능하다. 최적 은닉층 및 은닉 노드의 개수는 따로 결정이 필요한 하이퍼파라미터(hyperparameter)로, 최적값을 찾기 위한 알고리듬들이 개발되어 있다. 이때 각 은닉층의 노드 개수는 서로 다를 수 있다.

입력층에서 입력변수가 주어지면 가중 행렬을 곱하고 바이어스 을 더하여 다음 은닉층으로 보낸다. 다음 은닉층으로 보내기 전 활성함수 를 취한다. 활성함수의 종류에는 여러 가지가 있다. 현대의 딥러닝에서 가장 많이 쓰는 활성함수는 ReLU(Rectified Linear Unit) 함수이다.

  max

 max  식 (3-1)

자료: 저자 작성.

<그림 3-3> 다층 퍼셉트론 구조

두 번째 은닉층은 를 입력데이터로 하여 같은 계산을 한다. 이후의 은닉층도 마찬가지 계산을 거치며, 마지막 은닉층에서 출력층으로 보낸다.

 max  식 (3-2)

출력층은 마지막 은닉층  를 입력데이터로 하여 가중 행렬 을 곱하고 바이어스

를 더한다. 출력층의 벡터를 라 하면, 는 아래와 같이 계산한다. 본 연구의 수질 예측 과 같은 선형 예측의 경우, 별다른 활성함수는 취하지 않는다.

  식 (3-3)

경우에 따라 예측변수가 범주형 변수인 경우가 있다. 실제로 딥러닝 알고리듬은 범주형 데이터의 예측에 더욱 큰 강점을 보인다. 조류현상 예측의 예에서는 남조류세포수를 직접 예측할 수도 있지만, 범주화한 경보 단계에 관심이 있을 수 있다. 이 경우에는 출력층이

 미발령 관심 경계 조류대발생 이 된다. 출력층 값은 해당 범주에 속할 확률 을 뜻한다. 예를 들어  시점 입력데이터  수질 기상수위 상류에 대해 신경 망에서     를 출력한다면 다음 시점에 ‘경계’일 가능성이 0.7로 가장 높다고 알고리듬이 판단하는 것이다. 범주형 예측에서는 출력층의 활성함수로 시그모 이드(sigmoid) 함수 를 사용한다.

   식 (3-4)

인공신경망 알고리듬은 출력값 와 관측값 의 차이를 최소화하는 가중행렬값, 바이어 스를 찾기 위한 최적화 알고리듬이다. 목적함수  를 최소화하는 모수  =(, , ,

, ... , , )의 추정값 을 찾는 알고리듬이라 할 수 있다. 이를 식으로 나타내면 아래와 같다.

 arg min  식 (3-5)

목적함수의 대표적인 예로는 제곱 함수, 절댓값 함수 및 로그우도 함수가 있다. 로그우도 함수는 예측값이 범주형일 경우 널리 사용한다.

최적화된 모수를 구하기 위해 확률 그레이디언트 하강(SGD; Stochastic Gradient Decent) 알고리듬이 먼저 고안되었다.  의 그레이디언트 ∇ 를 계산하여 현시점 의 추정값 을 업데이트한다.

     ∇ 식 (3-6)

그레이디언트 ∇ 값 계산은 오류 역전파(Back Propagation) 알고리듬을 통한 다. 그레이디언트 알고리듬은 가장 단순한 알고리듬이나 한계가 있다. 목적함수에 절벽점 또는 안장점이 있을 경우 알고리듬 스텝(step)을 꾸준히 진행하여도 최적점에 도달하지 못 하는 현상이 있다. 이를 극복하기 위해 Momentum, Adagrad(Adaptive Gradient), NAG(Nesterov Accelerated Gradient), ADAM(Adaptive Momentum) 등의 알고리듬 이 개발되었다. 가장 널리 쓰이는 최적화 알고리듬은 ADAM 알고리듬이다.

2) RNN

순환신경망(RNN: Recurrent Neural Network) 모형은 <그림 3-4>과 같이 전 시점 은닉 노드의 피드백을 반영하는 순환신경망 모형이다.

자료: 저자 작성.

<그림 3-4> 순환신경망 구조

 시점 은닉 노드  는  시점 입력변수  와 더불어 전 시점 은닉 노드    을 입력변수로 같이 고려한다. 전 시점 피드백 효과를 반영하여 시간 순서에 대한 정보를 활용 할 수 있으므로 시계열 데이터 예측에 응용할 수 있다. 은닉 노드  와 출력층 는 아래와 같이 구한다.

         식 (3-7)

    

입력변수 가중 행렬 와 전 시점 은닉 노드 가중 행렬 는 모든 시점에서 같은 값이 다. 추정할 모수가 크게 줄어들기 때문에 과적합 문제를 효과적으로 완화할 수 있다. 최적화 알고리듬은 DMLP와 같은 ADAM 알고리듬 등을 이용한다. 그레이디언트 계산 알고리듬은 시간오류역전파(BPTT: Back Propagation Through Time) 알고리듬이다. 은닉 노드

   은 가중행렬 에 영향을 받으므로 최적화 과정을 통해  값을 구하는 과정에서

값이 변하면    도 같이 변하게 된다. BPTT 알고리듬은 이렇게 복잡하계 얽혀 있는 노드 및 매개변수를 한꺼번에 고려한다. BPTT 알고리듬이 개발되기 전에는 지난 최적화 과정에서의    값을 따로 저장하여  를 계산하는 엘만 RNN 알고리듬을 사용하였다.

엘만 RNN은 순환신경망의 기본 가정을 완전히 반영하지 못한다. 그래픽카드의 발전 등 컴퓨터 계산 기술 발달에 따라 BPTT 계산을 어렵지 않게 할 수 있는 현대에는 엘만 RNN 알고리듬을 활용할 필요성이 크게 줄어들었다.

관련 문서