에스테르화 반응에서 원치 않는 부산물 생성을 연구하기 위해 실험 설계를 수립했습니다. 4개의 혼합물 성분 인자와 1개의 공정 기반 인자를 사용하여 26회 실험으로 구성된 공간 채움형 실험 행렬을 생성했으며, 이는 특히 자체 검증 앙상블 모델링(SVEM)을 이용한 분석에 적합하도록 설계되었습니다. 이러한 접근 방식은 다항식 Scheffe 모델을 위한 기존의 혼합물 설계 방식보다 선호되었습니다. 결과적으로 얻어진 예측 모델은 데이터에 매우 잘 부합했으며, 각 인자가 부산물 생성량에 미치는 영향을 명확하게 보여주었습니다. 이 정보를 활용하여 반응 속도 모델 개발을 가속화하고 공정 규모를 확장했습니다.
안녕하세요, 저는 앤드류 피쉬입니다. 존슨 매티(Johnson Matthey)의 수석 연구원이며, 화학을 전공했습니다. 2016년부터 JMP에서 근무하고 있습니다. 오늘 발표할 포스터는 에스테르화 반응에 대한 공정 실험 설계와 SVEM 분석을 결합한 내용입니다.
간단히 소개하자면, 존슨 매티의 촉매 기술 사업부에서는 다양한 기술 분야에 사용되는 촉매와 바닥재를 판매하고 있으며, 이는 실험 설계 및 고급 데이터 분석에 매우 적합합니다. 저희는 촉매 조성물을 개발하고 화학 반응의 공정 조건을 최적화합니다. 소규모 실험실 연구를 바탕으로 이를 상업용 규모의 반응기에 적용하는 것이 저희의 업무입니다.
이번 포스터에서는 피쉬 에스테르화 반응의 응용에 대해 살펴보겠습니다. 이 포스터의 초점은 화학적인 내용이 아니므로 자세한 설명은 생략하겠습니다. 간단히 설명드리자면, 이 반응은 산 촉매 존재 하에 산과 알코올을 반응시켜 에스테르 생성물과 물을 생성하는 반응입니다. 이 반응은 가역 반응이므로, 반응 조건이 맞지 않으면 에스테르 생성물의 양을 최대화할 수 없습니다.
여기서 추가적인 문제는 부반응이 발생한다는 것입니다. 이는 반응 2에서 알코올이 동일한 산 촉매와 반응하여 에테르를 생성하는 반응입니다. 이 반응은 비가역 반응이므로 에테르가 생성되면 알코올을 다시 얻을 수 없습니다. 반응물이 소모되었기 때문에 반응 효율이 최적화되지 못하는 것입니다.
이 과정에서 우리가 하려는 것은 부산물인 에테르의 양을 최소화하고 이러한 조건에서 생성되는 베스타의 양을 최대화하는 것입니다.
이를 위해 실험 설계법을 사용했습니다. 일반적으로는 하나의 공정 변수를 가진 일반적인 혼합 설계법을 사용하지만, 여기서는 공간적 혼합 설계법이라는 다소 새로운 접근 방식을 취할 것입니다. 변수들을 요약하면, 연속 변수인 온도가 있습니다. 그다음으로는 알코올, 산 촉매, 물의 양, 그리고 네 가지 전통적인 혼합물 구성 요소가 있습니다. 마지막 구성 요소는 원래의 산이지만, 혼합물의 25%로 고정할 것입니다. 즉, 나머지 네 가지 혼합물 구성 요소의 합이 75%가 되어야 합니다.
그다음 우리가 하려는 것은 생성되는 에테르의 양이며, 이를 최소화하는 것이 목표입니다. 이는 균일 평형 반응이므로 모든 구성 요소가 동시에 존재하게 됩니다. 반응 혼합물을 특정 온도로 가열한 후 30분 뒤에 생성된 에테르의 양을 측정할 것입니다.
우리가 할 일은 일반적인 전통적인 설정에서, 즉 JMP에서 나와서 이전에 준비해 둔 일반적인 혼합 설계로 들어가는 것입니다. 이 설계를 다시 불러오겠습니다.
전통적인 설계 방식에서는 온도를 연속 변수로 도입합니다. 또한 네 가지 혼합물 구성 요소를 혼합물 구성 요소로 도입합니다. 그런 다음 셰프 큐빅 모델과 같은 방식을 사용하여 모든 항을 추가합니다. 이렇게 하면 충분히 큰 데이터 세트를 생성하고 분석하기 위해 약 40회의 실험이 필요하다는 결과가 나옵니다.
전통적인 삼원 도표에서 어떻게 보이는지 살펴보면, 여기에서 다양한 혼합 인자의 조합과 40가지 이상의 실험 결과를 확인할 수 있으며, 공간을 상당히 잘 탐색하고 있음을 알 수 있습니다.
우리가 잠재적으로 직면할 수 있는 문제는 온도 측면에서 고온과 저온만 고려하고 있다는 점이며, 여전히 혼합 인자 설정의 극단적인 값에만 초점을 맞추고 있다는 것입니다. 그래서 저는 이 실험을 설계하는 방식을 바꿔 공간 채움 설계(Space-filling Design)를 사용하고, 그 결과를 SVEM을 이용하여 분석할 것입니다.
공간 채움 설계를 구축하기 위해 DoE > 특수 목적 > 공간 채움 설계로 이동하겠습니다. 이전에 준비한 요인들을 불러오겠습니다. 반응 변수도 불러오겠습니다. 반응 변수로는 최소화하려는 에테르가 있습니다. 온도는 연속 변수입니다. 여기서 차이점은 이 네 가지 혼합물 성분을 혼합 요인으로 도입하는 대신 연속 변수로 남겨둔다는 것입니다. 범위는 여전히 지정할 것입니다. 이번에는 몇 가지 제약 조건을 지정할 것이므로 제약 조건을 불러오겠습니다.
즉, 혼합물의 네 가지 구성 요소의 총합이 75% 미만, 즉 몰분율로 0.75 미만이어야 한다는 뜻입니다. 계산이 원활하게 진행되도록 그에 상응하는 음의 제약 조건도 추가하겠습니다. 이렇게 하면, 설계 공간이나 그 진행 방식에 있어 다항식 모델에 제약받지 않고 원하는 실험 횟수를 지정할 수 있습니다.
이 경우, 저는 25번의 실험만 진행할 시간이 있습니다. 25번의 실험을 선택한 후, 실험 설계를 진행할 것입니다. 여기에는 소수점 이하 여러 자리까지 표시된 25회 실험 설계가 있는데, 실제로 이렇게 진행하는 것은 불가능하지만, 실험에서는 이 수치를 목표로 삼을 것입니다.
이 결과를 이전의 삼원 도표와 비교해 보면 매우 유사한 것을 알 수 있습니다. 전체 영역을 커버하고 있지만, 가장자리에 집중되기보다는 중앙에 더 많은 영역이 분포되어 있습니다. 다변량 도표에서도 마찬가지로, 기존의 전통적인 혼합 방식인 셰페 큐빅형 설계와 비교했을 때, 이제 온도가 영역의 가장자리가 아닌 중앙 부분을 훨씬 더 많이 커버하고 있는 것을 확인할 수 있으며, 실험 횟수도 15회 더 적게 소요되었습니다.
이 프로젝트의 목표는 데이터를 수집한 후, 기존의 다항식 모델 대신 머신러닝 기반의 신경망 알고리즘을 적용하여 해상도를 높이고 시스템에 대한 이해도를 향상시키는 것입니다. 이제 포스터로 돌아가겠습니다.
앞서 말씀드렸듯이 실험은 총 25회 진행될 예정이었습니다. 하지만 실제로는 26회째로 진행했는데, 반복 실험을 하나 포함했기 때문입니다. 그래프에서 보이는 빨간 점은 반복 실험 결과이며, 에테르 측정값의 재현성을 확인하기 위한 것이었습니다.
앞서 말씀드린 것처럼 혼합 비율은 연속적인 것으로 간주했습니다. 혼합 비율은 75%입니다. 이 실험들은 소형 클라베(clave)에서 진행됩니다. 온도를 올린 후 30분 동안 방치하고, 가스 크로마토그래피라는 분석 기법을 사용하여 30분 후 에테르의 양을 측정할 것입니다. 이 값이 26개 실험에 대한 반응값이 될 것입니다.
우리는 계속해서 실험을 진행했습니다. 그리 오래 걸리지 않았죠. 그런 다음 데이터 세트를 약간 수정했습니다. 지금까지 제가 설명했던 것처럼 이러한 요소들을 백분율로 나타내면 나중에 다루기가 더 쉬워집니다. 간단히 말해서, 백분율을 100으로 나누는 것이므로 75%가 아닌 0.75라는 값이 나옵니다.
두 번째 문제는, 다시 본론으로 돌아가자면, 제 실험 결과에서 구성 요소들의 합이 1보다 크거나 0.75보다 큰 경우가 있다는 것입니다. 즉, 산의 농도가 고정된 조건에서 1보다 큰 값이 나오는 것입니다. 그 이유는 이러한 요소들이 실험 과정에서 측정되었기 때문입니다. 따라서 우리가 원했던 결과를 완전히 얻을 수는 없습니다.
이 경우에는 약간의 수동 조정을 했습니다. 혼합물에서 가장 큰 성분인 에스테르를 선택해서 값을 조정했는데, 보시다시피 0.01만큼 조정해서 모든 값의 합이 1이 되도록 했습니다. 이렇게 하면 백그라운드에서 계산이 더 원활하게 진행됩니다. 데이터 세트에 포함된 26개 실험에 대해서는 이 작업을 하는 데 큰 문제가 없었습니다.
몇 가지 사소한 조정을 거친 후, 반복 실험을 통해 에테르 농도 측면에서 실험 오차 범위 내의 결과가 나왔음을 확인했습니다. 모든 것이 순조롭게 진행되었고, 이제 데이터 세트 모델링 작업을 시작했습니다.
앞서 언급했듯이, 우리가 기존의 Scheffe 3차 다항식 대신 Spaceful을 사용하는 이유는 테스트 결과 수를 줄일 수 있고, 더 많은 신경망을 적용하여 해상도를 높일 수 있기 때문입니다. 또한, 매우 제한적인 함수인 2차항이나 3차항에 제약받지 않습니다.
이러한 신경망은 일반적으로 매우 큰 데이터 세트에 더 적합하기 때문에, 소규모 DoE 유형의 데이터 세트에는 적용하기 어렵습니다. DoE에서는 모든 실행이 중요하기 때문입니다. DoE의 모든 실행이 중요하므로, 특정 실행을 검증 또는 테스트 세트에서 제외하면 설계 구조를 위반하게 됩니다. 반면에 SVEM을 사용하면 (시간 관계상 SVEM의 배경까지 자세히 설명할 수는 없지만) 어떻게 적용하는지 보여드리겠습니다.
하지만 배경 설명을 좀 드리자면, 이 모델은 SVEM(자체 검증 앙상블 모델링)을 사용합니다. 자체 검증이란 일반적으로 신경망을 학습시킬 때 데이터를 훈련 세트, 검증 세트, 테스트 세트로 나누는 것을 말합니다. 즉, 데이터를 분할하는 것입니다.
자체 검증 과정에서 우리는 데이터 세트를 복제하고, 감마 분포를 사용하는 쌍으로 된 부분 가중 부트스트래핑이라는 방법을 사용할 것입니다. 효과적으로, 각 데이터 포인트에 대해 높은 가중치와 낮은 가중치를 부여한 역상관 쌍을 생성하고, 하나는 훈련 세트에, 다른 하나는 검증 세트에 사용하여 신경망을 구축합니다.
앙상블 모델링은 감마 분포에서 서로 다른 가중치를 사용하여 여러 개의 모델을 구축한 다음 최종 모델을 평균화하는 방식입니다. 이것이 바로 SVEM의 작동 원리입니다. 이론적으로 SVEM은 기존의 다항식 적합보다 해상도가 높은 우수한 모델을 제공합니다. 특히 혼합 모델 설계에 매우 유용할 수 있습니다. 저희도 이 방법을 사용했습니다.
이것이 저희가 만든 SVEM 모델입니다. 신경망 알고리즘을 사용했는데요. 부트스트랩 방식으로 50개의 모델을 만들고 평균값을 냈습니다. 아주 간단한 신경망이었죠. 쌍곡선 탄젠트 함수 세 개를 가진 단일 레이어였습니다. 이제 발표는 잠시 접어두고 JMP에서 이 모델이 어떻게 작동하는지 보여드리겠습니다.
이 모든 작업은 Predictum이라는 회사에서 만든 추가 기능을 통해 SVEM을 사용하여 수행되었습니다. 이 추가 기능은 라이선스가 필요합니다. 이제 신경망을 구축해 보겠습니다. 요인으로는 온도, 산 촉매, 알코올, 물, 그리고 에스테르를 선택할 것입니다. 에스테르는 모든 값이 합산되도록 0.01만큼 조정했습니다. 반응 변수로는 에테르를 선택하고, 실행 버튼을 클릭하면 SVEM을 실행하는 대화 상자가 나타납니다.
평균을 낼 모델 개수, 부트스트랩 모델 개수를 선택할 수 있는데, 저는 50으로 설정하겠습니다. 간단하게 10년 단위 연령 레이어를 세 개 만들고, 첫 번째 레이어에는 10년 단위 연령 함수를 세 개 사용하겠습니다.
원하는 만큼 수정하고 선형 함수와 가우스 함수를 추가할 수도 있습니다. 하지만 저는 지금처럼 그대로 두겠습니다. SVEM을 실행해 보겠습니다. 분수 부트스트래핑 값이 매번 달라지기 때문에 결과는 실행할 때마다 다를 것입니다. 이전과 비슷한 결과가 나올 겁니다.
다음은 제가 실제로 측정한 에테르 반응 값과 SVEM으로 예측한 값을 나타낸 그래프입니다. 보시다시피 R² 값이 0.99로 매우 높고 오차도 상당히 낮습니다. 이제 이 결과를 표에 저장하면 되는데, 이미 저장했습니다. 이 그래프는 제가 사용한 공식과 표준 공식의 차이점을 보여주기 위한 것입니다.
실제로 에테르 농도 또는 반응은 이러한 tan h 함수에 계수를 곱하고, 여기에 다양한 혼합 및 공정 요인을 곱한 값들의 조합입니다. 이것이 첫 번째 모델이고, 이것이 두 번째 모델, 이것이 세 번째 모델 등으로 총 50개의 모델을 만든 다음, 이 모든 모델의 평균값을 구하여 예측 공식을 얻습니다. 이것이 바로 SVEM이 작동하는 방식이며, 이를 통해 매우 정확한 예측 결과를 얻을 수 있습니다.
다시 포스터 이야기로 돌아가서, 비교를 위해 특별히 설계된 것은 아니지만, 저는 Scheffe Cubic 항을 사용하여 최소제곱 회귀 모델을 구축하고, 단계적 매개변수 선택을 통해 모델에 포함될 항들을 좁혀 나갔습니다. 그렇게 구축한 모델을 SVEM 모델과 직접 비교했습니다.
여기서 모델 비교를 볼 수 있는데, SVEM 예측값은 빨간색이고 최소제곱 회귀 예측값은 파란색입니다. SVEM 모델의 R² 값이 더 높고 오차도 훨씬 낮습니다. 잔차 플롯에서도 마찬가지로 최소제곱 회귀 모델은 특정 데이터 포인트에서 훨씬 더 큰 잔차를 보입니다. SVEM은 25회 실행 데이터 세트에서 훨씬 더 나은 모델을 생성합니다. 일반적으로 신경망을 실험 설계(DoE)에 적용하는 것은 매우 어렵습니다. 다시 돌아가 보겠습니다.
이것이 에테르 생성을 최소화하는 이 연구의 전반적인 목적에 어떤 영향을 미치는지 살펴보려면 예측 프로파일러를 사용하면 됩니다. 방금 예측 공식을 예측 프로파일러로 내보냈습니다. 다시 한번 말씀드리지만, SVEM 모델과 최소 제곱 회귀 모델을 비교하고 있습니다. 위쪽에서 빨간색으로 표시된 부분이 SVEM 모델입니다.
여기서 보시는 바와 같이 두 방법에는 차이가 있습니다. SVEM 모델은 해상도가 훨씬 높지만, 최소제곱 회귀 분석은 다항식 곡선에 의해 제한됩니다. 기본적으로 에테르 부산물의 양을 줄이려면 저온 반응, 낮은 산 촉매량, 중간 정도의 알코올 함량, 높은 수분 함량, 그리고 낮은 에스테르 함량을 얻어야 합니다.
몇 가지 놀라운 결과가 나왔지만, 실제 생물학적 예측 그래프를 살펴본 결과 시스템을 상당히 잘 모델링했다고 확신합니다. 두 모델 간의 차이점도 확인할 수 있습니다. 예를 들어, 여기서는 최소제곱 회귀 모델에서 산 촉매가 중요한 요인으로 선택되지 않았고, 에스테르에 대한 추세 방향도 완전히 다릅니다. 이것이 R² 값과 최소제곱 회귀 예측값의 차이를 설명합니다.
여기서 몇 가지 좋은 특징들을 확인할 수 있습니다. 예를 들어 알코올의 경우, 중간에 딥(dip)이 나타나는데, 이는 최소제곱 회귀 분석에서 일반적인 다항식으로는 제대로 포착되지 않는 부분입니다.
요약하자면, 전통적인 혼합형 설계 대신 공간 채움형 실험 설계를 사용했습니다. 혼합물의 구성 요소 또는 혼합물 요인을 제약 조건이 내장된 연속형 요인으로 취급하여 혼합물의 총합을 고려했습니다.
우리는 매우 작은 데이터 세트에서 얻을 수 있는 정보를 극대화하기 위해 SVEM 모델링 기법을 적용했습니다. 기존의 다항식 모델에 비해 예측 해상도를 높였고, 이를 통해 이 화학 반응에서 에테르 생성을 최소화하는 조건을 이해하는 데 큰 도움이 되었습니다. 또한 전체 시스템에 대한 반응 속도 모델 구축을 시작하는 데 걸리는 시간도 단축되었습니다.
향후 연구 계획에 대해 말씀드리자면, 저희는 이 실험에서 얻은 시계열 데이터도 보유하고 있습니다. 30분 시점의 데이터뿐만 아니라 5분, 10분, 15분, 20분 시점의 데이터도 있습니다. 이러한 데이터를 좀 더 분석하고 통합하여 실제 화학 반응 속도를 계산하고 더욱 정교한 반응 속도 모델을 구축할 수 있을 것입니다. 이것이 저희가 앞으로 집중할 부분입니다.
또한, 이 연구에 기여해주신 존슨 매튜의 기술팀 소속 과학자 및 엔지니어 여러분께 진심으로 감사드립니다. 마지막으로, SVEM 사용 교육과 애드인 사용 라이선스를 제공해주신 프레딕텀(Predictum)에도 감사드립니다. 포스터 발표를 경청해주셔서 감사합니다.