[연구 9] Differentail Material Representation Learning

원료들을 벡터로 표현하고 임베딩하여 유사 원료를 확인하는 방법에 대한 논의

Report Info

  1. 👨🏻‍💻 Code Release: Tag v23.11.22.1
  2. 📂 Raw Data : (raw_data:receipt_3)
    # 3.1 은 1차 및 2처 처방을 합치고 코드별로 합산한 데이터
  3. 🗂️ Datasets : (ds:receipt_3_dl)
  4. 👾 Models : MLP
  5. 🦄 Trainers : (code_learning)
  6. 📌 Related Notebooks

1. 표현 학습

수많은 원료에 대해서 일반화된 예측모델을 만들기 위해서는 고정된 예측모델에 대하여 원료에 대한 표현 벡터를 학습하는 방법이 효율적이다. 아래 예시처럼, 심층신경망은 원료들의 조합에 대해서 물성을 예측하며, 본 모델이 지원하는 특징은

  1. 유사한 원료에 대해서도 신경망은 동작해야 하며,
  2. 새로운 원료에 대해서도 신경망은 동작해야 한다.

이러한 요구 조건을 만족하기 위해서는 물성 예측 신경망을 계속적으로 변경하는 것이 아니라, 고정된 회귀 모형에 원료에 대한 적절한 표현벡터를 찾는 경우, 혼합물 예측이 가능하도록 만들어야 한다. 최종적으로 다음과 같이 원료에 대한 표현을 딥러닝을 학습하는 방식을 택하였다.

세부적인 모델 구조는 다음과 같이 원료에 대한 표현 벡터가 존재하고 함량에 대해서 곱한 상태로 혼합물 표현 벡터가 만들어진다. 원료 표현 벡터들은 혼합된 상태에 대해서 Regressor 가 제대로 물성을 예측하도록 만들어 진다.

2. Training and Evaluation Performance

수 많은 원료에 대해서 혼합된 벡터를 사용하여 예측하기 때문에, 혼합물 벡터의 차원은 저차원보다 고차원이 유리하다. 예를 들어서, 60개의 원료를 섞는 경우, 2차원 벡터라면 수많은 원료 표현에 대해서 2차원으로 응축된 형태를 만들어 예측하는 것이기 때문에, 충분한 정보를 담지 못할 가능성이 높다. 따라서 표현 벡터의 길이는 혼합물의 개수를 충분히 고려하도록 설계되어야 한다. 아래 그림은 벡터 길이에 따른 성능 차이를 보여준다. 학습 데이터에 대해서는 0~10만 viscosity 에 대해서 1%미만의 에러를 보이며, 테스트 데이터에 대해서 5% 수준의 에러를 보인다.

세부적인 성능은 다음과 같다. Full 의 경우 전체 데이터에 대한 에러 수준이다.

CODE_ACT N_ENTRIES STEP Full Eval Train
tanh 100 195000 1751 5425 176
tanh 50 195000 1777 5511 177
tanh 20 195000 1869 5738 210
tanh 10 195000 1987 6118 216
tanh 6 195000 2032 6174 257
tanh 4 195000 2037 6217 245
tanh 2 195000 2295 6731 394

Evaluation 데이터에 대한 에러 수준이 높은 것은 크게 두 가지이다.

  1. 처음보는 원료에 대한 표현이 들어갔을 가능성
  2. 기존 원료들의 조합이나, 배율이 처음보는 경우

추후 연구에서는 에러가 높은 이유에 대해서 추가적인 분석이 필요하다.

3. Material Representation Visualization

원료 표현 벡터 학습의 가장 큰 장점은 원료 표현 벡터에 대한 시각화를 통해서, 각 원료들의 표현이 어떻게 구성되는지 살펴보는 것이다. 벡터에 대한 시각화는 2차원까지 가능하며, 고차원의 경우 2차원으로 차원을 낮춰서 시각화해야 한다. 아래 그림은 5400개 원료에 대한 2D 시각화 예시를 보여준다. X,Y 축은 2차원 벡터의 값이며, 각 점들은 원료들이고, 색깔은 1번 원료부터 5400번 원료까지 순서를 나타낸 것이다.

해당 그림을 이해하는 방법은 다음과 같다. 중앙에 있는 원료의 경우, [0,0]에 위치해있으며, 원료 함량과 곱했을 때, 혼합물 벡터에 기여하는 값이 0이다. 따라서 물성 예측에 영향을 끼치지 않는 원료라고 이해할 수 있다. 이와 반대로 1 혹은 -1 근처에 모여 있는 점들의 경우, 물성 예측에 큰 영향을 끼치는 원료들이며, 만일 점이 가깝다면 혼합물 예측에 비슷한 영향을 끼치는 원료로 이해할 수 있다. 이러한 해석은 실무자가 원료를 섞을 때 예상하는 영향을 딥러닝으로 모델링 한 것으로 이해할 수 있다.

2-Dimensional

표현 벡터의 길이가 2인 경우, 원료 표현 벡터가 학습되는 과정을 시각화하면 다음과 같다.

  1. 초기 원료들은 모두 (0,0)에 모여 있다.
  2. 학습이 진행됨에 따라서 원료들의 표현은 1차원적으로 분산된다.
  3. 학습이 더욱 진행되면서 원료들의 표현 자체가 더욱 분산되며, 유사한 표현들은 서로 그룹을 이룬다.

High Dimensional

더욱 높은 고차원 (10, 100) 에 대한 시각화는 2D로 표현 벡터들을 projection 시키고 살펴봐야 한다. 학습이 진행됨에 따라서 원료 표현들은 분산되며, 유사한 원료들은 표현 자체가 비슷한 곳에 형성된다.

Representation Analysis

원료 표현 자체가 모델에 어떠한 영향을 끼치는지, 실제 원료 표현이 유사하면, 실무자가 판단하기로도 유사한 물질인지 이해하기 위해서는 벡터 공간에 대해서 몇 개의 그룹들을 찾고 원료들을 분석해야 한다. 이러한 분석 방법은 “학습 데이터 수가 부족한 원료”가 있다면, 실무자가 표현 벡터를 강제하여 성능을 올릴 수도 있기에, 아주 중요하다.

결론

물성에 대한 인공지능을 하기 위해서 구분해야 하는 것은 두 가지이다. 첫 번째는 물성 자체에 대한 표현 벡터들을 고려하고, 벡터들의 특징을 이해하는 것이다. 두 번째는 표현 벡터를 활용하여 예측 모델을 만드는 것이다. 이 때 가정은 벡터 표현 자체가 유사하다면, 예측도 유사하다는 점이다. 두 가지를 구분하는 경우, 실무자는 표현벡터공간에 대한 해석을 토대로 물질들이 모델에 끼치는 영향을 이해할 수 있으며, 예측의 어려움을 딥러닝 알고리즘에 전가한다.