다층퍼셉트론이 충분한 중간층 노드 수를 지니면 임의의 함수를 근사시킬 수 있다는 이론적 연구결과에 기초하여, 다층퍼셉트론을 실제 문제에 응용하는 경우에 일반적으로 입력층, 중간층, 출력층으로 이루어진 3층 구조의 다층퍼셉트론을 사용한다. 그렇지만, 이러한 구조의 다층퍼셉트론은 입력벡터가 여러 가지 성질로 이루어진 복잡한 문제의 경우 좋은 일반화 성능을 보이지 않는다. 이 논문에서는 입력 벡터가 여러 가지 정보를 지닌 데이터들로 구성되어 있는 문제인 경우에 계층적 구조를 지닌 다층퍼셉트론의 구성으로 성능을 향상시키는 방법을 제안한다. 즉, 입력데이터를 섭-벡터로 구분한 후 섭-벡터별로 다층퍼셉트론을 적용시키며, 이 섭-벡터별로 적용된 하위층 다층퍼셉트론으로부터 인식 결과를 받아서 최종 결정을 하는 상위 다층퍼셉트론을 구현한다. 제안한 방법의 효용성은 단백질의 구조를 예측하는 문제를 통하여 확인한다.
다층퍼셉트론이 충분한 중간층 노드 수를 지니면 임의의 함수를 근사시킬 수 있다는 이론적 연구결과에 기초하여, 다층퍼셉트론을 실제 문제에 응용하는 경우에 일반적으로 입력층, 중간층, 출력층으로 이루어진 3층 구조의 다층퍼셉트론을 사용한다. 그렇지만, 이러한 구조의 다층퍼셉트론은 입력벡터가 여러 가지 성질로 이루어진 복잡한 문제의 경우 좋은 일반화 성능을 보이지 않는다. 이 논문에서는 입력 벡터가 여러 가지 정보를 지닌 데이터들로 구성되어 있는 문제인 경우에 계층적 구조를 지닌 다층퍼셉트론의 구성으로 성능을 향상시키는 방법을 제안한다. 즉, 입력데이터를 섭-벡터로 구분한 후 섭-벡터별로 다층퍼셉트론을 적용시키며, 이 섭-벡터별로 적용된 하위층 다층퍼셉트론으로부터 인식 결과를 받아서 최종 결정을 하는 상위 다층퍼셉트론을 구현한다. 제안한 방법의 효용성은 단백질의 구조를 예측하는 문제를 통하여 확인한다.
Based on the theoretical results that multi-layer feedforward neural networks with enough hidden nodes are universal approximators, we usually use three-layer MLP's(multi-layer perceptrons) consisted of input, hidden, and output layers for many application problems. However, this conventional three-...
Based on the theoretical results that multi-layer feedforward neural networks with enough hidden nodes are universal approximators, we usually use three-layer MLP's(multi-layer perceptrons) consisted of input, hidden, and output layers for many application problems. However, this conventional three-layer architecture of MLP shows poor generalization performance in some applications, which are complex with various features in an input vector. For the performance improvement, this paper proposes a hierarchical architecture of MLP especially when each part of inputs has a special information. That is, one input vector is divided into sub-vectors and each sub-vector is presented to a separate MLP. These lower-level MLPs are connected to a higher-level MLP, which has a role to do a final decision. The proposed method is verified through the simulation of protein disorder prediction problem.
Based on the theoretical results that multi-layer feedforward neural networks with enough hidden nodes are universal approximators, we usually use three-layer MLP's(multi-layer perceptrons) consisted of input, hidden, and output layers for many application problems. However, this conventional three-layer architecture of MLP shows poor generalization performance in some applications, which are complex with various features in an input vector. For the performance improvement, this paper proposes a hierarchical architecture of MLP especially when each part of inputs has a special information. That is, one input vector is divided into sub-vectors and each sub-vector is presented to a separate MLP. These lower-level MLPs are connected to a higher-level MLP, which has a role to do a final decision. The proposed method is verified through the simulation of protein disorder prediction problem.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
이 논문에서는 입력벡터가 여러 가지 성질을 지닌 복잡한 문제의 경우, 일반적인 구조의 MLP를 구성하여 학습을 시키는 것 보다 계층적 MLP를 사용하면 성능이 향상되는 것을 제안하였다. 제안한 계층적 구조 MLP는 각 성질별로 입력을 받아서 학습을 하는 하위층 MLP들과 하위층 MLP들의 출력을 받아서 입력으로 활용하는 상위층 MLP로 구성된다.
한편, 입력데이터에 feature extraction이나 feature selection을 적용하여 가공한 후 MLP에 적용하여 성능을 향상시키는 방법도 있다[21]. 이 분야는 또 다른 연구영역이며, 이 논문은 입력데이터를 특별한 가공 없이 MLP에 적용시키는 방법을 제안한 것이다.
이제 각 구조별 복잡도를 비교해보자. MLP의 복잡도는 그 MLP를 구성하고 있는 바이어스를 포함한 가중치의 수로 비교할 수 있다.
제안 방법
“단백질 disorder 예측 문제”를 “1-out of-5 교차확인 방법”으로 일반적인 구조 MLP와 제안한 계층적 구조 MLP에 학습시켜 비교하였다.
그 다음으로 제안한 계층적 구조 MLP를 이용한 학습 결과는 하위층 MLP들(MLP1, MLP2, MLP3, MLP4) 각각에 대한 것과 상위층 MLP(MLPf)에 대하여 측정하였다. 하위층 MLP1은 소수클래스 인식률과 G-Mean이 각각 72.
초기 가중치는 [-1 × 10-4 ,1 × 10-4 ]에서 균일분포가 되도록 임의로 설정하였다. 그리고, II장에서 설명한 데이터불균형 문제에 적합한 학습 방법을 적용하여 수식 (11) 에서 n=2, m=8의 파라미터 값으로 학습시켰다. 학습률은 0.
,MLP4) 의 중간층 노드 수를 합하면 20이 되도록 하였다. 그리고, 상위층 MLP(MLPf)는 하위층에서 출력된 결과를 입력으로 받아서 8-5-2구조로 정하였다.
논문에서는 입력 벡터를 특정한 의미를 지닌 부분으로 분할하여, 각 분할된 영역을 다루는 MLP와 최종 결과를 출력해주는 MLP로 이루어지는 계층적 구조를 사용하여 성능을 향상시키는 방법을 제안한다. 즉, 입력 층에 주어지는 벡터가 여러 가지의 성질 혹은 정보를 지닌 경우에 입력벡터 전체를 대상으로 일반적인 3층 구조의 MLP를 구성하기 보다는, 각 성질 혹은 정보에 해당하는 입력별로 3층 구조의 MLP를 각각 별도로 구성하도록 한다.
일반적인 구조 MLP와 이 논문에서 제안한 계충적 구조 MLP의 성능을 비교할 때, 단백질 disorder 예측 문제는 데이터 불균형이 심한 문제이므로 일반적인 인식률로는 그 성능을 제대로 반영할 수 없다. 따라서, 데이터 불균형 문제에서 많이 사용되는 G-Mean (Geometric Mean)을 성능비교 기준으로 정하였다[16]. 여기서, G-Mean은 다수 클래스 인식률과 소수 클래스 인식률을 구한 다음 이들의 기하평균을 구한 것을 뜻한다.
따라서, 여기서는 입력벡터가 여러 가지(R 가지) 성질을 지닌 경우에 [그림 3]과 같은 형태를 지니는 계층적 구조의 MLP를 제안한다. 이 계층적 구조의 MLP는 먼저 N차원의 입력벡터 x를 R 가지 성질에 따라 R개의 sub-vector로 분리한다.
여기서, G-Mean은 다수 클래스 인식률과 소수 클래스 인식률을 구한 다음 이들의 기하평균을 구한 것을 뜻한다. 또한, 데이터 불균형 문제에서 일반적으로 소수 클래스의 인식률이 저하되어 나타나므로 소수 클래스의 인식률도 같이 비교하여 보았다.
“단백질 disorder 예측 문제”를 “1-out of-5 교차확인 방법”으로 일반적인 구조 MLP와 제안한 계층적 구조 MLP에 학습시켜 비교하였다. 여기서, MLP는 초기 가중치에 따라 성능이 영향을 받으므로, 9가지의 다른 초기 가중치를 가지는 경우에 대하여 학습시켰다. 즉, 5가지 시험패턴 가지 수와 9가지 초기가중치에 대한 시뮬레이션이므로 총 45가지의 경우에 대하여 학습 시뮬레이션을 하였다.
이 경우 758차원 입력 벡터를 567차원 아미노산배열 프로파일, 81차원 2차 구조 프로파일, 81차원 용해도 프로 파일, 27+2차원 hp 프로파일 부분으로 구분하였다 (R=4). 여기에 MLP1은 567-5-2 구조, MLP2와 MLP3는 각각 81-5-2 구조, 그리고 MLP4는 29-5-2구조가 되도록 하여 하위층 MLP들 (MLP1,..,MLP4) 의 중간층 노드 수를 합하면 20이 되도록 하였다. 그리고, 상위층 MLP(MLPf)는 하위층에서 출력된 결과를 입력으로 받아서 8-5-2구조로 정하였다.
이를 매 학습패턴마다 반복하여 전체 학습패턴에 대한 학습이 한번 이루어진 것을 epoch 단위로 표현한다. 여러 번의 epoch을 거치면서 가중치들을 지속적으로 변경시키며 필요에 따라 성능을 측정한다. 한편, 경우에 따라서는 MLP1, MLP2,.
즉, 입력 층에 주어지는 벡터가 여러 가지의 성질 혹은 정보를 지닌 경우에 입력벡터 전체를 대상으로 일반적인 3층 구조의 MLP를 구성하기 보다는, 각 성질 혹은 정보에 해당하는 입력별로 3층 구조의 MLP를 각각 별도로 구성하도록 한다. 이렇게 구성된 각 입력 성질별 MLP에서 출력되는 값들을 상위층의 MLP에서 입력받아 최종 출력값을 나타내는 계층적 구조를 지니도록 한다.
시험패턴 인식률은 시험패턴을 MLP에 입력 후 출력노드 값을 구하여, 큰 출력 값을 지닌 출력노드가 목표노드에 해당하면 인식된 것으로 판정하여 측정한다. 이렇게 학습과정 중에 매 10 epoch마다 얻어진 시험패턴에 대한 성능 데이터를 45가지 경우에 대하여 평균을 구한 후, 가장 좋은 결과를 보이는 epoch 위치의 데이터를 [표 1]에 기록하였다.
일반적인 구조를 지닌 MLP와 이 논문에서 제안하는 계층적 구조의 MLP를 단백질 disorder 예측 문제의 시뮬레이션으로 비교하였다. 먼저 [그림 1]과 같은 일반적인 3층 구조의 MLP는 입력노드 758개, 중간층 노드 20개, 출력노드 2개(758-20-2 구조)로 구성하였다.
이 논문에서는 입력벡터가 여러 가지 성질을 지닌 복잡한 문제의 경우, 일반적인 구조의 MLP를 구성하여 학습을 시키는 것 보다 계층적 MLP를 사용하면 성능이 향상되는 것을 제안하였다. 제안한 계층적 구조 MLP는 각 성질별로 입력을 받아서 학습을 하는 하위층 MLP들과 하위층 MLP들의 출력을 받아서 입력으로 활용하는 상위층 MLP로 구성된다.
여기서, MLP는 초기 가중치에 따라 성능이 영향을 받으므로, 9가지의 다른 초기 가중치를 가지는 경우에 대하여 학습시켰다. 즉, 5가지 시험패턴 가지 수와 9가지 초기가중치에 대한 시뮬레이션이므로 총 45가지의 경우에 대하여 학습 시뮬레이션을 하였다. 이때, 5000 epoch 동안 학습시키면서 매 10 epoch마다 시험패턴을 대상으로 성능을 측정한다.
논문에서는 입력 벡터를 특정한 의미를 지닌 부분으로 분할하여, 각 분할된 영역을 다루는 MLP와 최종 결과를 출력해주는 MLP로 이루어지는 계층적 구조를 사용하여 성능을 향상시키는 방법을 제안한다. 즉, 입력 층에 주어지는 벡터가 여러 가지의 성질 혹은 정보를 지닌 경우에 입력벡터 전체를 대상으로 일반적인 3층 구조의 MLP를 구성하기 보다는, 각 성질 혹은 정보에 해당하는 입력별로 3층 구조의 MLP를 각각 별도로 구성하도록 한다. 이렇게 구성된 각 입력 성질별 MLP에서 출력되는 값들을 상위층의 MLP에서 입력받아 최종 출력값을 나타내는 계층적 구조를 지니도록 한다.
대상 데이터
일반적인 구조를 지닌 MLP와 이 논문에서 제안하는 계층적 구조의 MLP를 단백질 disorder 예측 문제의 시뮬레이션으로 비교하였다. 먼저 [그림 1]과 같은 일반적인 3층 구조의 MLP는 입력노드 758개, 중간층 노드 20개, 출력노드 2개(758-20-2 구조)로 구성하였다. 초기 가중치는 [-1 × 10-4 ,1 × 10-4 ]에서 균일분포가 되도록 임의로 설정하였다.
즉, 5가지 시험패턴 가지 수와 9가지 초기가중치에 대한 시뮬레이션이므로 총 45가지의 경우에 대하여 학습 시뮬레이션을 하였다. 이때, 5000 epoch 동안 학습시키면서 매 10 epoch마다 시험패턴을 대상으로 성능을 측정한다. 시험패턴 인식률은 시험패턴을 MLP에 입력 후 출력노드 값을 구하여, 큰 출력 값을 지닌 출력노드가 목표노드에 해당하면 인식된 것으로 판정하여 측정한다.
이를 위하여, 고등과학원의 주기형 박사로부터 96개의 단백질에서 데이터를 추출한 “단백질 disorder 예측 문제”를 제공받았다.
이론/모형
단백질 disorder 예측 문제의 학습을 위한 데이터베이스가 758차원을 지닌 19816개의 벡터로 이루어져 있는데, 시험패턴과 학습패턴의 구분이 없으므로 일반화 성능을 측정하기 위하여 “1-out of-5 교차확인(cross validation) 방법”을 사용한다.
이러한 구조의 MLP는 이론적으로 임의의 함수를 근사시킬 수 있다는 것이 증명되었다[2]. 이를 토대로, 입력으로 주어지는 벡터를 대상으로 [그림 1]과 같은 형태의 MLP를 구성하는 접근 방법이 사용되었다. 그렇지만, 실제 문제의 응용에 있어서 원하는 만큼의 학습 성능을 얻지 못하는 경우가 있다.
성능/효과
“단백질 disorder 예측 문제”를 대상으로 일반적인 구조 MLP와 제안한 계층적 구조 MLP의 시뮬레이션으로 성능을 비교한 결과, 제안한 방법이 더 좋은 성능을 보였다.
MLP는 758차원 입력 벡터 전체를 학습한 것인 반면에 MLP1은 567차원 아미노산배열 프로파일만을 학습한 것이기 때문이다. 81차원 2차 구조 프로파일을 학습한 MLP2는 소수클래스 인식률 68.27%, G-Mean 70.92%를 얻어 상당히 저하된 성능을 얻었다. 81차원 용해도 프로파일을 학습한 MLP3는 소수클래스 인식률 75.
92%를 얻어 상당히 저하된 성능을 얻었다. 81차원 용해도 프로파일을 학습한 MLP3는 소수클래스 인식률 75.29%, G-Mean 74.89%를 얻었으며, 29차원 hp 프로파일을 학습한 MLP4는 소수클래스 인식률 72.78%, G-Mean 68.57%를 얻었다. 이 결과를 보면 758차원 입력 벡터 중 어느 프로파일을 학습하였느냐에 따라 성능이 상당히 다르게 됨을 볼 수 있다.
그렇지만, 각 프로파일에 맞추어 학습된 하위층 MLP들의 결과를 활용하여 상위층 MLP가 Conv. MLP 보다 더 좋은 성능을 보이도록 하는 효과가 있음을 확인하였다.
MLPf와 하위층 MLP들 간의 관계를 더 확인해보기 위하여, 하위층 MLP들 중에서 좋은 성능을 보인 MLP1과 MLP3 만을 상위층 MLP에 연결시키는 구조로 학습한 결과 소수클래스 인식률은 77.82%, G-Mean은 78.10%를 얻었다. 이 결과는 [표 1]에 나와 있는 MLPf 보다는 다소 낮지만 Conv.
먼저 [표 1]에서 Conv. MLP는 일반적인 구조 MLP 를 뜻하는데, 소수클래스 인식률은 76.53%, G-Mean은 76.33%를 얻었다. 이는 단백질 disorder 예측 문제가 상당히 복잡하고 어려운 문제이기 때문이다.
“단백질 disorder 예측 문제”를 대상으로 일반적인 구조 MLP와 제안한 계층적 구조 MLP의 시뮬레이션으로 성능을 비교한 결과, 제안한 방법이 더 좋은 성능을 보였다. 또한, 제안한 계층적 구조가 일반적인 구조 MLP보다 복잡도가 많이 감소함을 보였다. 특히, 하위층 MLP들이 각 입력 성분의 특징에 따라 다른 성능을 보이며, 상위층 MLP의 성능에 대한 기여도가 다르게 나타남을 확인하였다.
57%를 얻었다. 이 결과를 보면 758차원 입력 벡터 중 어느 프로파일을 학습하였느냐에 따라 성능이 상당히 다르게 됨을 볼 수 있다. 즉, MLP1과 MLP3가 MLP2와 MLP4 보다 좋은 성능을 보이는데, 이는 각 프로파일이 다른 성질을 지녔음을 간접적으로 나타낸다.
MLP는 759 × 20+21 × 2 = 15222 개의 가중치를 지녔다. 제안한 계층적 구조 MLP는 MLP1이 2852개, MLP2와 MLP3가 각각 422개, MLP4가 162개의 가중치를 지녔으며, 상위층의 MLPf가 57개의 가중치를 지녀 총합 3915개의 가중치를 지녔다. 이는 Conv.
MLP 보다 향상된 결과를 보였다. 즉, 758차원의 입력 전체를 하나의 MLP에 학습시킨 경우보다 제안한 형태로 각 입력의 성질별로 별도의 하위층 MLP들을 구축하여 학습시킨 후 그 출력을 상위층 MLP에서 학습시키는 것이 성능을 향상시켰음을 나타낸다. 물론, Conv.
MLP1과 MLP3 만을 MLPf에 연결시킨 계층적 구조에서는 가중치의 개수가 3311개로 더 감소한다. 즉, 제안한 방법은 MLP의 복잡도는 줄이면서 더 좋은 성능을 얻게 해준다.
또한, 제안한 계층적 구조가 일반적인 구조 MLP보다 복잡도가 많이 감소함을 보였다. 특히, 하위층 MLP들이 각 입력 성분의 특징에 따라 다른 성능을 보이며, 상위층 MLP의 성능에 대한 기여도가 다르게 나타남을 확인하였다.
후속연구
1. 시뮬레이션 대상 문제
제안한 방법의 효용성을 확인하기 위하여 복잡하면서도 입력 벡터가 다양한 특징들로 이루어진 문제가 필요하다. 이를 위하여, 고등과학원의 주기형 박사로부터 96개의 단백질에서 데이터를 추출한 “단백질 disorder 예측 문제”를 제공받았다.
질의응답
핵심어
질문
논문에서 추출한 답변
다층퍼셉트론의 3층 구조는 무엇으로 이루어져 있는가?
다층퍼셉트론이 충분한 중간층 노드 수를 지니면 임의의 함수를 근사시킬 수 있다는 이론적 연구결과에 기초하여, 다층퍼셉트론을 실제 문제에 응용하는 경우에 일반적으로 입력층, 중간층, 출력층으로 이루어진 3층 구조의 다층퍼셉트론을 사용한다. 그렇지만, 이러한 구조의 다층퍼셉트론은 입력벡터가 여러 가지 성질로 이루어진 복잡한 문제의 경우 좋은 일반화 성능을 보이지 않는다.
3층 구조의 다층퍼셉트론이 좋은 일반화 성능을 보이지 않는 경우는 무엇인가?
다층퍼셉트론이 충분한 중간층 노드 수를 지니면 임의의 함수를 근사시킬 수 있다는 이론적 연구결과에 기초하여, 다층퍼셉트론을 실제 문제에 응용하는 경우에 일반적으로 입력층, 중간층, 출력층으로 이루어진 3층 구조의 다층퍼셉트론을 사용한다. 그렇지만, 이러한 구조의 다층퍼셉트론은 입력벡터가 여러 가지 성질로 이루어진 복잡한 문제의 경우 좋은 일반화 성능을 보이지 않는다. 이 논문에서는 입력 벡터가 여러 가지 정보를 지닌 데이터들로 구성되어 있는 문제인 경우에 계층적 구조를 지닌 다층퍼셉트론의 구성으로 성능을 향상시키는 방법을 제안한다.
다층출력 퍼셉트론은 무엇인가?
다층출력 퍼셉트론[23]은 일반적인 구조의 MLP를 주어진 문제에 대하여 학습시킨 후 성능이 만족스럽지 못한 경우에 각 출력노드마다 상위의 출력노드를 추가 적으로 할당하는 방법이다. 추가된 출력노드는 하위층에 있는 모든 노드들과 가중치로 연결되며 일반적인 EBP에 따라 학습된다.
참고문헌 (23)
D. E. Rumelhart and J. L. McClelland, Parallel Distributed Processing: Explorations in the Microstructures of Cognition, The MIT Press, 1986.
K. Hornik, M. Stincombe, and H. White, "Multilayer feedforward networks are universal approximators," Neural Networks, Vol.2, pp.359-366, 1989.
M. Stevenson, R. Winter, and B. Widrow, “Sensitiviety of feedforward neural networks to weight errors," IEEE Trans. Neural Networks, Vol.1, pp.71-90, 1990.
Y. Xie and M. A. Jabri, "Analysis of the effects of quantization in multilayer neural networks using a statistical model," IEEE Trans. Neural Networks, Vol.3, pp.334-338, 1992.
J. Y. Choi and C.-H. Choi, "Sensitivity analysis of multilayer perceptron with differentiable activation functions," IEEE Trans. Neural Networks, Vol.3, pp.101-107, 1992.
S.-H. Oh and Y. Lee, "Sensitivity analysis of single hidden-layer neural networks with threshold functions," IEEE Trans. Neural Networks, Vol.6, pp.1005-1007, 1995.
R. P. Lippmann, "Pattern classification using neural networks," IEEE Communication Magazine, pp.47-64, 1989.
J. B. Hamshire II and A. H. Waibel, "A novel objective function for improved phoneme recognition using time-delay neural networks," IEEE Trans. Neural Networks, Vol.1, pp.216-228, 1990.
A. S. Weigend and N. A. Gershenfeld, Time Series Prediction: Forecasting the future and understanding the past, Addison-Wesley Publishing Co., 1994.
Y.-M. Huang, C.-M. Hung, and H. C. Jiau, "Evaluation of neural networks and data mining methods on a credit assessment task for class imbalance problem," Nonlinear Analysis, Vol.7, pp.720-747, 2006.
Z. R. Yang and R. Thomson, "Bio-basis function neural netwrok for prediction of protease cleavage sites in proteins," IEEE Trans. Neural Networks, Vol.16, pp.263-274, 2005.
J. B. Hampshire II and A. H. Waibel, "A novel objective function for improved phoneme recognition using time-delay neural networks," IEEE Trans. Neural Networks, Vol.1, pp.216-228, 1990.
A. van Ooyen and B. Nienhuis, "Improving the convergence of the back-propagation algorithm," Neural Networks, Vol.5, pp.465-471, 1992.
D. Simard, P. Y. Steinkraus, and J. C. Platt, "Best practices for convolutional neural networks," Proc. Int. Conf. Document Analysis and Recognition(ICDAR), Washington DC, USA, pp.958-962, 2003.
Z.-H. Zhou and X.-Y. Liu, "Training cost-sensitive neural networks with methods addressing the class imbalance problem," IEEE Trans. Knowledgement and Data Eng., Vol.18, No.1, pp.63-77, 2006.
Sang-Hoon Oh "On the Design of Multilayer perceptrons for Pattern Classifications," Proc. Int. Conf. on Convergence Content 2009, Hanoi, Vietnam, pp.59-62, Dec. 17-19 2009.
G. E. Hinton and R. R. Salakhutdinov, "Reducing the dimensionality of data with neural networks," Science, Vol.313, pp.504-507, 2006.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.