Los CNN Tienen inconvenientes importantes
Los CNN (redes neuronales convolucionales) son increíbles. Son una de las razones por las que el aprendizaje profundo es tan popular hoy en día. Pueden hacer cosas increíbles que la gente solía pensar que las computadoras no serían capaces de hacer durante mucho, mucho tiempo. Sin embargo, tienen sus límites y sus inconvenientes fundamentales.
Consideremos un ejemplo muy simple y no técnico. Imagina una cara. ¿Cuáles son los componentes? Tenemos la cara ovalada, dos ojos, una nariz y una boca. Para una CNN, la mera presencia de estos objetos puede ser un indicador muy fuerte para considerar que hay una cara en la imagen. Las relaciones espaciales orientativas y relativas entre estos componentes no son muy importantes para una CNN.
¿Cómo funcionan los CNN? El componente principal de una CNN es una capa convolucional. Su trabajo es detectar características importantes en los píxeles de la imagen. Las capas más profundas (más cercanas a la entrada) aprenderán a detectar entidades simples, como bordes y degradados de color, mientras que las capas más altas combinarán entidades simples en entidades más complejas. Por último, las capas densas en la parte superior de la red combinarán características de muy alto nivel y producirán predicciones de clasificación.
Una cosa importante a entender es que las entidades de nivel superior combinan entidades de nivel inferior como una suma ponderada: las activaciones de una capa anterior se multiplican por los pesos de las neuronas de la capa siguiente y se agregan, antes de pasar a la no linealidad de activación. En ninguna parte de esta configuración hay una relación de pose (traslacional y rotacional) entre características más simples que conforman una característica de nivel superior. El enfoque de CNN para resolver este problema es utilizar capas convolucionales sucesivas o de agrupación máxima que reducen el tamaño espacial de los datos que fluyen a través de la red y, por lo tanto, aumentan el «campo de visión» de las neuronas de la capa superior, lo que les permite detectar características de orden superior en una región más grande de la imagen de entrada. Max pooling es una muleta que hizo que las redes convolucionales funcionaran sorprendentemente bien, logrando un rendimiento sobrehumano en muchas áreas. Pero no se deje engañar por su rendimiento: mientras que los CNN funcionan mejor que cualquier modelo anterior, max pooling está perdiendo información valiosa.
El propio Hinton afirmó que el hecho de que max pooling funcione tan bien es un gran error y un desastre:
Hinton: «La operación de pooling utilizada en redes neuronales convolucionales es un gran error y el hecho de que funcione tan bien es un desastre.»
Por supuesto, puede eliminar la agrupación máxima y obtener buenos resultados con CNN tradicionales, pero aún no resuelven el problema clave:
La representación de datos internos de una red neuronal convolucional no tiene en cuenta jerarquías espaciales importantes entre objetos simples y complejos.
En el ejemplo anterior, la mera presencia de 2 ojos, una boca y una nariz en una imagen no significa que haya una cara, también necesitamos saber cómo están orientados estos objetos en relación entre sí.
Codificar el mundo 3D en una Red Neuronal: El enfoque de gráficos inversos
Los gráficos por computadora se ocupan de construir una imagen visual a partir de una representación jerárquica interna de datos geométricos. Tenga en cuenta que la estructura de esta representación debe tener en cuenta las posiciones relativas de los objetos. Esa representación interna se almacena en la memoria de la computadora como matrices de objetos geométricos y matrices que representan las posiciones relativas y la orientación de estos objetos. Luego, un software especial toma esa representación y la convierte en una imagen en la pantalla. Esto se llama renderizado.
Inspirado por esta idea, Hinton argumenta que los cerebros, de hecho, hacen lo contrario del renderizado. Lo llama gráficos inversos: a partir de la información visual recibida por los ojos, deconstruyen una representación jerárquica del mundo que nos rodea e intentan combinarla con patrones y relaciones ya aprendidos almacenados en el cerebro. Así es como ocurre el reconocimiento. Y la idea clave es que la representación de objetos en el cerebro no depende del ángulo de visión.
En este punto, la pregunta es: ¿cómo modelamos estas relaciones jerárquicas dentro de una red neuronal? La respuesta proviene de los gráficos por computadora. En los gráficos 3D, las relaciones entre objetos 3D se pueden representar mediante una pose, que en esencia es traducción más rotación.
Hinton argumenta que para hacer correctamente la clasificación y el reconocimiento de objetos, es importante preservar las relaciones jerárquicas entre las partes de los objetos. Esta es la intuición clave que le permitirá comprender por qué la teoría de cápsulas es tan importante. Incorpora relaciones relativas entre objetos y se representa numéricamente como una matriz de pose 4D.
Cuando estas relaciones se integran en la representación interna de datos, se vuelve muy fácil para un modelo comprender que lo que ve es solo otra vista de algo que ha visto antes. Considere la imagen de abajo. Se puede reconocer fácilmente que esta es la Estatua de la Libertad, a pesar de que todas las imágenes la muestran desde diferentes ángulos. Esto se debe a que la representación interna de la Estatua de la Libertad en su cerebro no depende del ángulo de visión. Probablemente nunca hayas visto estas fotos exactas de él, pero de inmediato supiste lo que era.