물성심층표현을 활용하여 원료 파이프라인을 간소화한다.
기존 물성 예측 파이프라인은 다음과 같았다.
기존 4가지 모델 방식은 예측에 과정을 세분화 하기 위해서 필요하지만, 불필요하게 표현 벡터들이 너무 많아서 사용자와 개발자 입장에서 학습하는 과정이 복잡하다. 원료 예측 파이프라인을 더욱 간단하게 만들기 위해서 이 과정을 2 단계로 줄였고, 이를 위해서 예측 임무 표현 벡터를 활용한다. 기존 4단계는 다음과 같이 구성되며, 각 단계에서 표현벡터와 이를 변환해줄 모델이 필요하다.
기존 방식은 기본 원료 표현 -> 예측용 표현 -> 혼합물 표현 -> 예측
과정에서 예측 물성마다 표현이 존재해야 하는데, 이는 데이터 수가 굉장히 적은 물성에 대해서는 적합하지 않으며, 학습 모델을 관리하는 게 쉽지 않다.
간소화 된 파이프라인은 예측용 표현을 없애고, 임무 표현을 mixer에 같이 넣는 방식이다.
새로운 모델의 가정은 원료는 일반적인 표현이 존재하고, 임무 표현이 유의미한 표현을 추출해낸다는 점이다. 기존 방식에서는 임무마다 표현이 존재한다는 가정이었기 때문에 불필요한 표현이 늘어나며, 적은 데이터의 새로운 물성이 나타나면 예측용 표현을 만들기 어려웠다. 따라서, 예측용 표현을 없애고, 물성임무표현이 일반화된 표현으로부터 필요한 정보를 추출해내는 과정으로 설계하였다.
원료의 표현은 두 가지 방식으로 형성된다.
bottom-up 부분이 잘 형성된다면, top-down 으로 학습된 결과도 효과를 본다. 또한 bottom-up 부분이 제대로 형성된 경우, 새로운 원료에 대해서 bottom 부분의 표현의 유사도를 바탕으로 신규 물질에 대한 표현 벡터를 찾을 수 있다. 따라서, 기본 원료 표현 부분은 모델의 성능과 데이터 수가 적은 원료에 대응할 수 있는 좋은 환경이다.
예측 모델에 대해서 요구사항은 다음과 같다.
위 가정으로부터 모델을 강건하게 만들기 위해서는 효율적으로 표현공간을 설계할 필요성이 있다. 실제 구현과 학습을 위해서 이를 처리하는 방법은 (1) 일반화된 원료 표현, (2) 맞춤형 물성 임무 표현, (3) 이를 처리해줄 모델을 지니는 구조이다. 혼합물을 처리하는 구조는 트랜스포머 인코더 구조로 self-attention을 사용하여 물성 예측 표현으로부터 Predictor 를 거쳐서 예측한다.
비중 (density), 경도 (hardness), pH (ph), 점도 (viscosity) 는 모두 예측할 물성이다.
처방 - 물성 데이터에서 추출해낼 수 있는 모든 정보를 가지고 종합된 데이터셋을 구성한다. 전체 데이터 수는 19000개로, 이는 원료 빈도수로 보정되지 않은 숫자이다. 보정 후에는 수가 줄어든다.
점도 데이터는 pin 과 rpm 에 대해서는 4 pin
과 같은 형택로 pin
과 rpm
이 적혀있거나 rpm * pin
형태로 적힌 데이터로부터 정규표현식을 사용하였다.
pin과 rpm 조합에 대해서 발견된 개수는 다음과 같다.
위 표에서 충분히 많은 처방이 존재하는 (pin+rpm) 대해서 각기 다른 레이블을 형성하며, 선택된 pin과 rpm 조합은 다음과 같다. pin_rpms = [(2, 6), (2,12,), (2,30), (3, 6), (3,12), (4, 6), (7, 12)]
. 각 물성에 대한 레이블 정보는 다음과 같다.
물성 | 처방 수 | 최댓값 |
---|---|---|
density (비중) | 7834 | 1.41 |
hardness (경도) | 2422 | 1,200 |
pH | 7435 | 10.1 |
viscosity 2*6 | 75 | 4,000 |
viscosity 2*12 | 96 | 2,000 |
viscosity 2*30 | 114 | 750 |
viscosity 3*6 | 49 | 15,000 |
viscosity 3*12 | 234 | 7,500 |
viscosity 4*6 | 547 | 80,000 |
viscosity 7*12 | 367 | 115,000 |
이전에 논의한 순차적 원료표현학습을 위해 충분히 많이 사용된 원료들을 포함한 처방을 선택할 경우, 데이터 수는 줄어들 게 된다. 해당 그림은 이전 점도 데이터에 대한 예시이며, 종합에 대한 정보가 데이터가 아니다.
실제로 종합데이터에 대해서 빈도수 이상 원료와 이를 포함하는 처방을 선택하면 다음과 같다. 예시는 2번 이상 나오는 원료들을 모두 포함한 처방을 고른 경우이다.
2번 이상 나타나는 원료로 구성된 처방
물성 | 비율 | 포함 수 |
---|---|---|
density (비중) | 0.87 | 6818 |
hardness (경도) | 0.72 | 1768 |
pH | 0.86 | 6445 |
viscosity 2*6 | 0.2 | 14 |
viscosity 2*12 | 0.20 | 20 |
viscosity 2*30 | 0.30 | 35 |
viscosity 3*6 | 0.16 | 8 |
viscosity 3*12 | 0.29 | 70 |
viscosity 4*6 | 0.70 | 384 |
viscosity 7*12 | 0.73 | 269 |