TensorFlow Lattice : 사전 지식으로 인한 유연성 제공

머신러닝은 자연어 처리, 컴퓨터 비전, 추천 시스템을 포함한 많은 응용 프로그램에서 많은 발전을 이루었습니다. 매우 유연한 모델을 사용하여 복잡한 입/출력 관계를 캡처합니다. 그러나 “기타 조건은 동일하고 교통량이 많을 경우 도로를 제한된 시간에 주행하세요.”와 같이 글로벌한 관계를 따르는 의미론적으로 의미있는 입력에 대한 문제가 남아 있습니다. DNN과 random forest와 같은 유연한 모델은 이러한 관계를 학습할 수 없으며 모델이 훈련된 예제와 다른 표본 분포에서 추출한 예제로 잘 일반화하지 못할 수도 있습니다.

자신의 lattice model을 만드는 TensorFlow operator와 사용하기 쉬운 미리 만들어진 TensorFlow Estimator세트인 TensorFlow Lattice를 발표합니다.

Lattice는 다차원 보간된 룩업 테이블입니다. 단조로운 관계를 만족시키기 위해 임의로 유연한 관계를 근사화하기 위해 여러 입력으로 입력할 수 있는 룩업 테이블의 구조를 활용합니다. 더 잘 일반화하기 위해 지정하는 즉, 룩업 테이블 값은 학습 예제의 손실을 최소화하도록 트레이닝되지만, 또한 룩업 테이블의 인접값은 입력 공간의 주어진 방향에 따라 증가하도록 제한되며, 이는 모델 출력을 그 방향으로 증가시킵니다. 중요한 것은 룩업 테이블 값을 보간하기 때문에 격자 모델이 부드럽고 예측이 한정되어 테스트 시간에 위조된 크거나 작은 예측을 방지하는 데 도움이됩니다.

 

 

lattice 모델이 도움을 주는 방법
가까운 커피숍을 사용자에게 추천하는 시스템을 설계한다고 가정해보십시오. 모델에 “두 카페가 동일하면 더 가까운 것을 선호합니다.” 아래에 도쿄 (보라색) 사용자를 위한 학습 데이터에 맞는 유연한 모델 (핑크색)을 보여줍니다. 여기에는 근처에 커피숍이 많이 있습니다.

분홍색의 유연한 모델은 노이지한 훈련 샘플로 오버피트이고 더 가까운 카페가 더 좋은 전반적인 추세를 놓치고 있습니다. 이 핑크색 모델을 사용하여 텍사스(파란색)에서 테스트 사례를 순위를 매기는 경우 비즈니스가 멀리 퍼져 나가면 이상하게 행동하고 때로는 더 먼 카페를 선호합니다!

 

 

다른 모든 입력이 동일하게 유지되고 거리만 변경되는 모델의 기능 공간을 슬라이스합니다. 도쿄(보라색)의 훈련 사례에서 정확한 유연한 기능 (핑크색)은 5km 거리에있는 경우 동일한 카페보다 10km 떨어진 카페가 더 좋다고 예측합니다. 이 문제는 데이터 분포가 바뀌면 테스트 시간에 더욱 분명해진다. 여기에 카페가 펼쳐지는 텍사스의 파란 예제가있습니다.

 

 

 

단조롭고 유연한 함수(초록색)는 학습 예제에서 정확하며 이전 그림에서 비단조 유연 함수(핑크색)와 비교하여 텍사스 예제를 일반화 할 수 있습니다.

대조적으로, 도쿄에서 같은 예제를 통해 훈련된 Lattice 모델은 이러한 단조로운 관계를 충족시키고 단조롭고 유연한 함수(녹색)를 갖도록 제한될 수 있습니다. 초록색 선은 도쿄의 훈련 예에도 정확하게 부합하지만, 텍사스에 일반화되어 더 먼 카페를 선호하지 않습니다.

일반적으로 커피의 품질, 가격 등과 같이 각 카페에 대한 많은 정보가 있을 수 있습니다. 유연한 모델은 “다른 모든 입력이 동등하거나 가까운 경우” 특히 양식에서 글로벌 관계를 포착하는 데 어려움이 있습니다 트레이닝 데이터가 희소하고 잡음이 많은 기능 공간의 사전 지식(예 : 입력이 예측에 미치는 영향)을 포착하는 머신러닝 모델은 실제로 더 잘 작동하며 디버그하기 쉽고 해석이 용이합니다.

사전 제작된 Estimator
우리는 TensorFlow Estimator 와 같은 다양한 Lattice 모델 아키텍처를 제공합니다 . 우리가 제공하는 가장 단순한 estimator는 calibrated linear 모델입니다 .이 모델은 (1-d 격자를 사용하여) 각 피쳐의 최상의 1-d 변환을 학습한 다음 모든 보정된 피쳐를 선형적으로 결합합니다. 이것은 트레이닝 데이터세트가 매우 작거나 복잡한 비선형 입력 상호 작용이 없는 경우 잘 작동합니다. 또 다른 estimator는 교정된 Lattice 모델 입니다. 이 모델은 복잡한 비선형 상호 작용을 나타낼 수 있는 2층 단일 Lattice 모델을 사용하여 보정된 피쳐를 비선형적으로 결합합니다. 교정된 Lattice 모델은 일반적으로 2-10개의 피쳐가 있는 경우 좋은 선택이지만, 10개 이상의 피쳐의 경우 사전 구성된 ensemble 아키텍처를 사용하여 조정할 수 있는 보정된 Lattice의 ensemble로 최상의 결과를 얻을 것으로 기대합니다 . 단조로운 Lattice ensemble은 Random Forrest에 비해 0.3 % – 0.5 %의 정확도 이득을 제공 할 수 있으며, 이러한 새로운 TensorFlow lattice estimator는 학습 모델의 이전 최첨단 기술에 비해 0.1-0.4 %의 정확도를 달성할 수 있습니다.

나만의 빌드
심신경 네트워크 또는 다른 TensorFlow 아키텍처의 일부로 부분적인 monotonic 함수를 사용하여 더 깊은 Lattice 네트워크를 실험하거나 연구할 수 있습니다. 빌딩 블록을 제공합니다 : calibrator, lattice interpolation, monotonicity projection을 위한 TensorFlow operator. 예를 들어, 아래 그림은 9- deep lattice 네트워크를 보여줍니다.

 

 

 

 

9레이어 Deep Lattice 네트워크 아키텍처 [5]의 예 : calibrator 레이어가 있는 선형 임베딩 및 Lattice Ensemble의 calibrator 레이어 (신경 네트워크에서 ReLU의 합계처럼 작동) 파란색 선은 monotonic 입력에 해당하며 레이어 단위로 보존되므로 전체 모델에 유지됩니다. 이 임의의 다른 아키텍처는 TensorFlow Lattice로 구성 할 수 있습니다. 각 레이어는 차별화가 가능하기 때문입니다.

모델 유연성과 표준 L1 및 L2 정규화의 선택 외에도 TensorFlow Lattice와 함께 새로운 정규식을 제공합니다.

  • Monotonicity constraints [3] 위에서 설명한 입력의 선택.

  • Laplacian regularization [3] 학습된 기능을 더 펼치기 위한 Lattice.

  • Torsion regularization [3] 불필요한 비선형 피쳐 상호 작용을 억제

우리는 TensorFlow Lattice가 의미있는 의미론적 입력으로 작업하는 더 큰 커뮤니티에 유용하게 사용될 수 있기를 바랍니다. 이는 의사 결정자가 사전 지식을 활용할 수 있도록 해석 가능성과 제어 시스템 학습 모델에 대한 대규모 연구 노력의 일환입니다.  시작하려면 GitHub 저장소 및 튜토리얼을 확인하고 의견을 보내주십시오.

원본

https://research.googleblog.com/2017/10/tensorflow-lattice-flexibility.html?m=1

Tags:

tensorflow

Lattice

Estimator

operator

Monotonicity

Laplacian

Torsion

정규화

calibrator