Deep neural architectures for structured output problems Clément Chatelain Soufiane Belharbi soufiane.belharbi@litislab.fr clement.chatelain@insa-rouen.fr LITIS - INSA de Rouen Joint work with: J.Lerouge, R.Herault, S.Adam, R.Modzelewski, F.Jardin, B.Labbe May 19, 2015 images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems
Plan 1 Structured Output Problems 2 Input/Output Deep Architecture (IODA) 3 Application of IODA to medical image labeling 4 Application of IODA to Facial Landmark Detection 5 Conclusion 6 Future Work on IODA images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 1/46
Structured Output Problems Traditional Machine Learning Problems f : X → y Inputs X ∈ R d : any type of input Outputs y ∈ R for the task: classification, regression, . . . Machine Learning for Structured Output Problems f : X → Y Inputs X ∈ R d : any type of input Outputs Y ∈ R d ′ , d ′ > 1 a structured object ( dependencies ) See C. Lampert slides [3]. images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 2/46
Structured Output Problems Traditional Machine Learning Problems f : X → y Inputs X ∈ R d : any type of input Outputs y ∈ R for the task: classification, regression, . . . Machine Learning for Structured Output Problems f : X → Y Inputs X ∈ R d : any type of input Outputs Y ∈ R d ′ , d ′ > 1 a structured object ( dependencies ) See C. Lampert slides [3]. images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 2/46
Structured Output Problems Data = representation ( values ) + structure ( dependencies ) Text: part-of-speech tagging, translation speech ⇄ text Protein folding Image Structured data images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 3/46
Structured Output Problems Approaches that Deal with Structured Output Data ◮ Kernel based methods: Kernel Density Estimation (KDE) ◮ Discriminative methods: Structure output SVM ◮ Graphical methods: HMM, CRF , MRF , . . . Drawbacks Perform one single data transformation Difficult to deal with high dimensional data Ideal approach ◮ Structured output problems ◮ High dimension data ◮ Multiple data transformation (complex mapping functions) Deep neural networks? images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 4/46
Structured Output Problems Approaches that Deal with Structured Output Data ◮ Kernel based methods: Kernel Density Estimation (KDE) ◮ Discriminative methods: Structure output SVM ◮ Graphical methods: HMM, CRF , MRF , . . . Drawbacks Perform one single data transformation Difficult to deal with high dimensional data Ideal approach ◮ Structured output problems ◮ High dimension data ◮ Multiple data transformation (complex mapping functions) Deep neural networks? images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 4/46
Structured Output Problems Traditional Deep neural Network Input layer Hidden layer 1 Hidden layer 2 Hidden layer 3 Hidden layer 4 Output layer x 1 x 2 x 3 y 1 car x 4 y 2 bus y 3 x 5 bike x 6 x 7 ◮ High dimension data OK ◮ Multiple data transformation (complex mapping functions) OK ◮ Structured output problems NO images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 5/46
Input/Output Deep Architecture (IODA) Plan 1 Structured Output Problems 2 Input/Output Deep Architecture (IODA) 3 Application of IODA to medical image labeling 4 Application of IODA to Facial Landmark Detection 5 Conclusion 6 Future Work on IODA images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 6/46
Input/Output Deep Architecture (IODA) IODA: ◮ Incorporate the output structure by learning ◮ Discover hidden dependencies in the outputs Input layer Hidden layer 1 Hidden layer 2 Hidden layer 3 Hidden layer 4 Output layer x 1 y 1 x 2 y 2 x 3 y 3 x 4 y 4 Structured object x 5 y 5 x 6 y 6 y 7 x 7 images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 7/46
Input/Output Deep Architecture (IODA) Training IODA Input layer Hidden layer 1 x 1 x 2 x 3 x 4 x 5 x 6 x 7 images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 8/46
Input/Output Deep Architecture (IODA) Training IODA Input layer Hidden layer 1 x 1 x 2 x 3 x 4 x 5 x 6 x 7 images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 8/46
Input/Output Deep Architecture (IODA) Training IODA Input layer Hidden layer 1 Hidden layer 2 x 1 x 2 x 3 x 4 x 5 x 6 x 7 images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 9/46
Input/Output Deep Architecture (IODA) Training IODA Input layer Hidden layer 1 Hidden layer 2 x 1 x 2 x 3 x 4 x 5 x 6 x 7 R in ( x i ; θ in ) = ˆ x i images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 10/46
Input/Output Deep Architecture (IODA) Training IODA Input layer Hidden layer 1 Hidden layer 2 Output layer x 1 y 1 y 2 x 2 x 3 y 3 x 4 y 4 x 5 y 5 x 6 y 6 x 7 y 7 R in ( x i ; θ in ) = ˆ x i images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 11/46
Input/Output Deep Architecture (IODA) Training IODA Input layer Hidden layer 1 Hidden layer 2 Hidden layer 4 Output layer x 1 y 1 x 2 y 2 x 3 y 3 x 4 y 4 x 5 y 5 x 6 y 6 y 7 x 7 R in ( x i ; θ in ) = ˆ x i images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 12/46
Input/Output Deep Architecture (IODA) Training IODA Input layer Hidden layer 1 Hidden layer 2 Hidden layer 3 Hidden layer 4 Output layer x 1 y 1 x 2 y 2 x 3 y 3 x 4 y 4 x 5 y 5 x 6 y 6 x 7 y 7 R in ( x i ; θ in ) = ˆ x i images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 13/46
Input/Output Deep Architecture (IODA) Training IODA Input layer Hidden layer 1 Hidden layer 2 Hidden layer 3 Hidden layer 4 Output layer x 1 y 1 x 2 y 2 x 3 y 3 x 4 y 4 x 5 y 5 x 6 y 6 x 7 y 7 R in ( x i ; θ in ) = ˆ R out ( y i ; θ out ) = ˆ x i y i images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 14/46
Input/Output Deep Architecture (IODA) Training IODA Input layer Hidden layer 1 Hidden layer 2 Hidden layer 3 Hidden layer 4 Output layer x 1 y 1 x 2 y 2 x 3 y 3 x 4 y 4 Back-propagation x 5 y 5 x 6 y 6 x 7 y 7 R in ( x i ; θ in ) = ˆ R out ( y i ; θ out ) = ˆ x i y i M ( x i ; θ , θ in , θ out ) = ˆ y i images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 15/46
Input/Output Deep Architecture (IODA) IODA framework: min θ L ( θ , D ( x , y )) � n L ( θ , D ( x , y )) = 1 � C ( M ( x i ; θ , θ in , θ out ) , y i ) n � �� � i = 1 Learn ( input → output ) dependencies) + ℓ in ( R in ( x i ; θ in ) , x i ) � �� � Learn input dependencies � + ℓ out ( R out ( y i ; θ out ) , y i ) � �� � Learn output dependencies C ( . ) , ℓ in ( . ) , ℓ out ( . ) : defined costs. min θ L ( θ , D ( x , y )) is hard to solve ⇒ split L ( θ , D ( x , y )) images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 16/46
Input/Output Deep Architecture (IODA) IODA framework: min θ L ( θ , D ( x , y )) � n L ( θ , D ( x , y )) = 1 � C ( M ( x i ; θ , θ in , θ out ) , y i ) n � �� � i = 1 Learn ( input → output ) dependencies) + ℓ in ( R in ( x i ; θ in ) , x i ) � �� � Learn input dependencies � + ℓ out ( R out ( y i ; θ out ) , y i ) � �� � Learn output dependencies C ( . ) , ℓ in ( . ) , ℓ out ( . ) : defined costs. min θ L ( θ , D ( x , y )) is hard to solve ⇒ split L ( θ , D ( x , y )) images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 16/46
Input/Output Deep Architecture (IODA) Relaxed-simplified version of IODA Unsupervised training: 1 � n 1 → Input dependencies : min i = 1 ℓ in ( R in ( x i ; θ in ) , x i ) n θ in 1 � n → output dependencies: min i = 1 ℓ out ( R out ( y i ; θ out ) , y i ) n θ out Standard supervised learning: 2 � n 1 min i = 1 C ( M ( x i ; θ , θ in , θ out ) , y i ) n θ , θ in , θ out Open source implementation Implemented using our library: Crino [1] [ Python-Theano based] . images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 17/46
Input/Output Deep Architecture (IODA) Relaxed-simplified version of IODA Unsupervised training: 1 � n 1 → Input dependencies : min i = 1 ℓ in ( R in ( x i ; θ in ) , x i ) n θ in 1 � n → output dependencies: min i = 1 ℓ out ( R out ( y i ; θ out ) , y i ) n θ out Standard supervised learning: 2 � n 1 min i = 1 C ( M ( x i ; θ , θ in , θ out ) , y i ) n θ , θ in , θ out Open source implementation Implemented using our library: Crino [1] [ Python-Theano based] . images/logos LITIS - INSA de Rouen Deep neural architectures for structured output problems 17/46
Recommend
More recommend