1. 서 론
테트라포드는 주로 경사식 방파제 위에 피복되는 콘크리트 블록으로 전 세계적으로 가장 많이 사용되는 인공 소파블록이다. 경사면 위에 피복된 테트라포드는 자중과 블록 간의 맞물림 효과로 파에 저항하며 파에 의한 제체의 유실을 방지한다. 이러한 테트라포드는 파랑의 작용을 직접적으로 받기 때문에 입사되는 파랑에 의해 피해를 받지 않을 만큼의 충분한 중량이 필요하다. 또한 중량이 너무 큰 경우에는 블록 내의 응력이 증가하여 다리가 부러지는 현상이 자주 발생한다. 이 때문에 테트라포드의 적정 중량을 산정하기 위한 연구들이 진행되어 왔다.
Hudson (1959)은 규칙파 실험 결과를 이용하여 테트라포드 중량에 대한 경험식을 제안하였다. Van der Meer (1988)는 쇄기파(surging breaker)에 대해 불규칙파를 이용한 수리실험을 수행하여 파고, 파의 주기, 지속시간과 피해도를 고려한 안정수 공식을 제안하였다. 하지만 이 공식은 사면의 경사각의 영향을 고려하지 않았고, 쇄기파에 대해서만 적용 가능하다는 한계점을 가지고 있다. 이후 De Jong (1996)은 권파(plunging breaker)에 대하여 Van der Meer 공식에 추가적으로 피복밀도(packing density)와 마루높이(crest elevation)의 영향을 고려해 안정수 공식을 제안했지만 이 역시 사면의 경사각을 고려하지 않았고, 권파에 대해서만 적용 가능한 한계점을 지니고 있다. 최근 Suh and Kang (2012)은 Van der Meer와 De Jong의 공식을 확장하여 다양한 사면 경사각의 영향을 고려한 테트라포드의 안정수 공식을 제안한 바 있다. 기존에 제안된 안정수 공식들은 모두 공식의 형태를 가정하고 수리실험 자료의 회귀분석을 통해 식의 계수들을 결정하는 방식으로 제안된 공식이다.
본 연구에서는 Van der Meer (1987), De Jong (1996) 그리고 Suh and Kang (2012)의 수리실험 자료를 바탕으로 최근 예측 도구로 많이 활용되는 인공신경망(artificial neural network; ANN) 모델을 수행하여 이로부터 테트라포드의 안정수를 계산하는 방법을 제안한다. ANN 모델은 일반적으로 기존의 경험식에 비해 예측 정확도가 우수하지만 구조가 복잡하고 이해하기 어렵기 때문에 설계에 널리 사용되지 않고 있다. 본 연구에서는 이러한 문제점을 해결하기 위해 ANN 모델 자체를 제시하는 대신 ANN 모델 개발의 부산물로 얻어지는 가중치(weight)와 편의(偏倚, bias)를 이용하여 안정수를 계산하는 방법을 제시한다. 이 방법은 ANN에 대한 지식이 없이도 기본적인 행렬 연산을 할 수 있는 엔지니어라면 누구나 사용할 수 있는 장점이 있다. 마지막으로 본 연구에서 제안된 방법으로 계산한 안정수를 기존의 경험식으로 계산한 결과와 통계적으로 비교함으로써 제안된 방법의 정확성을 정량적으로 검토한다.
2. 인공신경망 모델
2.1 인공신경망의 구조
인공신경망은 다량의 데이터를 기반으로 입력변수와 출력 변수 간의 비선형적 관계를 분석하는 데이터 기반의 회귀분석 모델이다. 인공신경망 내에는 뉴런이라는 정보 처리 인자가 존재하는데, 이 뉴런은 입력변수와 출력변수 사이의 관계의 강도를 나타내는 서로 다른 가중치로 연결되어 있다. 인공신경망 내에서 학습(training)이란 이 가중치 값을 계속적으로 수정해 가면서, 목표 값의 자승평균오차(mean-squared error; MSE)로 정의되는 오차 함수를 최소화 하는 과정을 말한다. Fig. 1은 인공신경망의 구조를 보여준다. 이 그림에서 i는 입력변수의 개수를 나타낸다. 우선, 각각의 입력변수와 출력변수를 정규화(normalization)를 통해 그 값들의 범위가 [min,max] = [–1, 1]에 분포하도록 변환시킨다. 이 정규화는 다음과 같은 식에 의해 이루어진다.
여기서
p i n 는 pi값이 정규화 된 값이며, pmin과 pmax는 각각 변수의 최소값과 최대값이다. 두 번째로 은닉층(hidden layer)의 초기 가중치(
w k j h )를 –1부터 1 사이의 값을 갖도록 무작위로 선정하고, 모든 초기 편의 값(
b k h
)은 영으로 설정한다. Fig. 1에 나타나 있는 함수들은 다음과 같이 계산된다.
여기서, R과 S는 각각 입력변수의 개수와 은닉 뉴런(hidden neuron)의 개수를 의미한다. 또한 p, bh 그리고 wh는 각각 입력변수, 은닉층의 편의와 가중치를 의미한다. 이렇게 계산된 값은 활성함수(activation function)로 입력된다. 은닉층의 활성함수는 hyperbolic tangent sigmoid 함수를 사용하며 다음과 같이 정의된다.
출력층(output layer)에서는 하나의 뉴런에 대해서 은닉층에서와 같은 과정이 반복된다.
출력층의 활성함수는 선형 함수를 사용하며, 최종적으로 다음과 같은 값이 출력된다.
2.2 인공신경망 모델의 구성
2.2.1 실험자료와 입력변수
본 연구에서는 인공신경망 모델의 자료로 Van der Meer (1987), De Jong (1996), 그리고 Suh and Kang (2012)의 수리실험 자료를 사용하였다. 데이터의 개수는 총 286개이며, 입력변수로는 Table 1 과 같은 8개의 수리학적, 구조적 변수를 사용하였다. 여기서 Hs는 유의파고, Tm은 평균주기,
ξ m = tan α / 2 π H s / g T m 2 은 surf similarity parameter, N0는 상대피해도, N은 파의 개수, Rc는 방파제의 마루높이, Dn은 테트라포드의 공칭 길이, kΔ는 피복층의 다짐밀도, α는 구조물의 경사각이며, 출력변수인 Ns는 테트라포드의 안정수이다. 각 변수의 최대값과 최소값도 함께 제시하였다. 이들은 ANN 모델에서 변수들을 정규화 시키는 데 사용된다 (식 (1) 참조).
2.2.2 은닉 뉴런의 수 결정
인공신경망 모델 개발에서 가장 중요한 과제는 모델을 일련의 학습 데이터에 적합(fit)시킴으로써 학습되지 않은 데이터에 대해서도 모델이 믿을 만한 예측치를 제공하도록 하는 것이다. 그러나 때때로 모델 결과가 무작위 오류 즉 노이즈를 나타낼 때가 있는데, 이를 과대적합 오류(overfitting errors)라고 한다. 이는 보통 관측 데이터의 양에 비해 파라미터가 너무 많은 경우 등 모델이 매우 복잡한 경우에 발생한다. 따라서 적정한 크기의 신경망을 결정하는 것이 중요한데, Huang and Foo (2002)는 입력변수의 개수가 n일 때 2n + 1 개 내에서 은닉 뉴런의 수를 결정하는 것이 바람직 하다고 하였다. 본 연구에서 입력변수가 8개이기 때문에, 17개 내에서 은닉 뉴런의 수를 결정해야 한다. Table 2는 은닉 뉴런의 수(z)에 따른 안정수의 관측치와 계산치 사이의 상관계수(R)를 나타낸다. Table 2에 따르면 은닉 뉴런의 수가 5개 이상일 경우 상관계수의 값이 0.98 이상의 안정적인 값을 보인다. 은닉 뉴런의 수가 많아질수록 상관계수의 값이 커지기는 하지만, 모델의 크기가 커질수록 과대적합 오류가 발생할 가능성이 크기 때문에 본 연구에서는 적정 은닉 뉴런의 수로 5개를 사용하였다. 참고로 Table 2에 제시한 상관계수는 데이터 전체를 학습에 사용했을 때의 결과임을 밝혀둔다.
2.3 인공신경망 모델에 의한 안정수 계산 결과
인공신경망 모델에서 일반적으로 약 70% 정도의 데이터를 모델의 학습에 사용하고, 나머지 30%의 데이터를 사용하여 모델을 검증한다. 다음은 앞에서 설명한 8개의 입력변수를 사용하여 ANN 모델을 수행한 결과를 보여준다. 전체 286개 데이터 중 70%(200개)의 데이터를 학습에 사용하고, 나머지 30%(86개)의 데이터를 사용하여 모델을 검증하였다. 모델은 초기 가중치를 변화시키면서 총 30회를 수행하여 가장 좋은 결과를 보이는 모델을 선택하였다. Fig. 2는 학습 데이터와 검증 데이터에 대하여 안정수의 관측치와 계산치를 비교한 그림이다. 한편, Table 3는 각 데이터 세트에 대하여 관측치와 계산치 사이의 상관계수, RMSE 및 일치지수를 보여준다. 여기서 일치지수(Index of agreement, Ia)는 다음과 같이 계산된다.
여기서 yi와 xi는 각각 예측 및 관측 값,
X
는 관측 값들의 평균을 의미한다. Ia는 0과 1.0 사이의 값을 가지며, 1.0의 값을 가질 때는 완전히 일치, 0의 값을 가질 때는 완전히 불일치함을 의미한다. 당연한 결과이지만, 학습 데이터에 대한 모델 결과가 검증 데이터에 대한 결과보다 통계적으로 더 정확함을 보인다.
2.4 자료의 크기에 따른 인공신경망 모델의 정확도
ANN 모델 수립에 사용되는 자료의 질(quality)이 비슷하다면, 일반적으로 자료의 크기가 증가할수록 모델의 정확도가 높아질 것이다. 이를 증명하기 위해 Table 4와 같은 네 가지 경우에 대해서 ANN 모델을 수행하였다. Case 0는 286개 자료 전체를 학습에 사용한 경우이다. Case 1은 286개 자료 중 70%를 학습에 사용하고 나머지 30%를 검증에 사용한 경우이다. Case 2는 Case 1에서 학습에 사용한 200개 자료 중 70%를 학습에 사용하고 나머지를 검증에 사용한 경우이다. Case 3는 Case 2에서 학습에 사용한 140개 자료 중 70%를 학습에 사용하고 나머지를 검증에 사용한 경우이다. 각 경우에 자료의 질을 비슷하게 유지하기 위해서 학습 자료는 전체 자료로부터 무작위로 추출하였다. Table 4에서 볼 수 있듯이 학습 자료에 대한 모델의 정확도는 자료의 개수가 감소할수록 높아지는 반면, 검증 자료에 대한 정확도는 자료의 개수가 증가할수록 높아진다. ANN 모델의 정확도는 검증 자료에 대한 정확도로 평가되므로, 전체 자료의 크기가 커질수록 모델의 정확도가 높아진다는 결론을 내릴 수 있다.
본 연구에 사용된 자료의 개수가 총 286개인데, 만일 질이 비슷한 자료의 개수가 408개이고 그 중 70%에 해당하는 286개를 학습에 사용하고 나머지 30%인 122개를 검증에 사용한다면 (Table 4의 Case 0이 이에 해당됨), Case 0의 검증자료에 대한 정확도가 자료의 개수가 적은 다른 경우보다 높아질 것이라고 유추할 수 있다. 따라서 Case 0처럼 286개 자료 전체를 학습에 사용하여 구축된 모델을 사용한다면 안정수를 더 정확하게 예측할 수 있을 것이다. 이는 기존의 경험식을 도출할 때 모든 실험 자료를 사용하는 것과 비교해 봤을 때 타당한 방법이라고 볼 수 있다. 다시 말해서 기존의 경험식은 가용한 자료 전체를 사용하여 유도되며 별도의 검증과정을 거치지 않고 설계에 사용된다. 따라서 모든 데이터를 사용하여 학습된 ANN 모델의 결과(즉, 가중치와 편의)를 설계에 사용해도 무방할 것이다.
3. 가중치와 편의를 이용한 안정수 계산방법
본 연구에서는 테트라포드의 안정수를 계산하는 양해법을 제안하기 위해 모든 자료를 사용하여 학습시킨 ANN 모델의 가중치와 편의 값을 제시한다. 다음은 Table 4의 Case 0에 대한 모델로부터 추출해 낸 가중치와 편의 값의 행렬이다.
본 연구에서는 8개의 입력변수와 5개의 은닉 뉴런을 사용했으며, 결과적으로 식 (7)부터 (10)까지의 가중치와 편의 값들을 얻었고, 이들을 사용하여 Fig. 3와 같이 안정수를 계산한다. 단, 이 계산 식을 적용하기 위해서는 입력변수의 순서를 다음과 같이 유지해야 한다.
다음은 본 연구에서 제안된 가중치와 편의 값의 행렬들로부터 테트라포드의 안정수를 계산하는 예를 보여준다. 앞서 설명했듯이, 이 계산 과정에서 입력변수들이 정규화 되어 ANN 모델에 입력된다. 입력변수는 286개의 자료 중 임의의 한 세트를 사용하였다.
여기서 마지막 열은 식 (1)에 의해 정규화 된 입력 변수들의 값이다.
은닉 뉴런, nh는 다음과 같이 계산된다
이 값들을 식 (3)의 활성함수에 대입하여 ah값을 구하면 다음과 같다.
출력 뉴런, no는 다음과 같이 계산된다.
최종적으로 식 (5)의 선형 활성함수를 통해 다음과 같은 값이 계산된다.
이와 같이 계산된 출력 값은 아래 식을 이용하여 안정수로 변환할 수 있다.
식 (17)을 통해 변환된 안정수의 값은 2.526이며, 실험에서 관측된 안정수 값은 2.475이므로 실험 값과 거의 동일한 결과를 얻을 수 있음을 확인하였다.
4. 결 과
Fig. 4는 앞 절에서 개발한 방법을 이용하여 286개의 실험자료 전체에 대하여 계산한 안정수를 관측치와 비교한 것이다. 가로축은 실험에서 관측된 테트라포드의 안정수이고, 세로축은 가중치와 편의 값을 이용하여 계산해 낸 테트라포드의 안정수 값이다. 결과적으로 상관계수(R)의 값은 0.990, RMSE 값은 0.080, 일치지수(Ia)의 값은 0.995로 매우 양호한 결과를 보였다.
Fig. 5는 Van der Meer (1988), De Jong (1996), 그리고 Suh and Kang (2012)이 제안한 테트라포드의 안정수 공식에 모든 실험 데이터를 대입해 본 결과와 이번 연구에서 제안된 방법으로 계산된 테트라포드의 안정수를 비교한 결과를 보여준다. 기존에 제안된 다른 어떤 경험식보다 좋은 결과를 보이는 것을 알 수 있다. Table 5는 기존의 경험식들과 본 연구에서 제안된 방법의 정확도를 통계적으로 비교한 결과이다. 모든 통계 값들이 본 연구에서 제안된 방법이 기존의 경험식들 보다 좋은 결과를 나타내는 것을 볼 수 있다.
Van der Meer (1988)의 공식과 De Jong (1996)의 공식은 구조물의 경사가 1:1.5인 경우 각각 쇄기파와 권파에 대하여 제안된 공식이기 때문에 이 두 종류의 파가 섞여 있고 구조물의 경사도 다양한 모든 데이터에 대하여 비교하였을 때 계산치가 관측치와 잘 맞지 않는 것은 당연한 결과이다. 한편 Suh and Kang (2012)의 공식은 다양한 경사의 구조물에 입사하는 쇄기파와 권파 모두에 대하여 사용할 수 있도록 제안된 공식인데, Van der Meer (1988)나 De Jong (1996) 공식보다는 나은 결과를 보이지만 본 연구의 방법에 비해서는 정확도가 떨어진다. 결과적으로 본 연구에서 제안된 방법은 쇄파 조건, 구조물 경사각 등이 다른 다양한 경우에 테트라포드의 안정수를 매우 정확하게 예측할 수 있음을 알 수 있다.
5. 결 론
본 연구에서는 Van der Meer (1987), De Jong (1996) 및 Suh and Kang (2012)의 실험 자료를 이용하여 테트라포드의 안정수를 계산할 수 있는 ANN 모형을 수립하고, 이 모형의 가중치와 편의를 이용하여 양해법으로 안정수를 계산할 수 있는 방법을 제안하였다. 제안된 방법은 ANN에 대한 지식이 없는 엔지니어라도 간단한 행렬 계산을 수행하여 쉽게 사용할 수 있다. 엔지니어들이 쉽게 따라 할 수 있는 계산 절차를 3절에 제시하였다. 제안된 방법으로 계산한 안정수를 기존의 경험식으로 계산한 안정수와 비교한 결과, 새롭게 제안된 방법이 훨씬 정확도가 높은 것을 확인하였다. 요약하면, ANN 모델에 기반을 두면서 엔지니어들이 쉽게 사용할 수 있고 정확도 또한 높은 테트라포드 안정수 계산 방법을 제안하였다.
본 연구에서 제안된 방법을 현장의 구조물에 적용할 경우 다음과 같은 주의가 필요하다. 인공신경망을 학습시킬 때 실험실 자료를 사용하였기 때문에, 크기가 훨씬 큰 현장 자료를 그대로 사용할 경우 안정수를 터무니 없이 크게 산정한다(Kim and Park (2005) 참조). 이러한 문제를 해결하기 위해 Froude 상사법칙에 따라 현장 자료를 실험실 스케일로 변환하여 사용해야 한다. 이 때 변환된 자료들이 Table 1의 범위내에 속하도록 적당한 축척을 사용해야 한다. 일단 안정수가 계산되면, Ns = Hs⁄(ΔDn)에 현장의 파고 값을 대입하여 테트라포드의 공칭 길이, Dn을 구한다. 여기서, Δ = ρa⁄ρ–1이며, ρa와 ρ는 각각 테트라포드와 해수의 밀도이다.