CNN Aplicado en App Inventor Con Arduino
CNN Aplicado en App Inventor Con Arduino
La red neuronal convolucional CNN es un aprendizaje profundo supervisado utilizado para la visión
por computadora . El proceso de Redes Neuronales Convolucionales se puede dividir en cinco pasos:
Convolución , Max Pooling , Flattening , Full Connection . PASO 1-Convolución En la base de
Convolución hay un filtro también llamado Detector de Características o Kernel . Básicamente,
multiplicamos la parte de la imagen por el filtro y verificamos la coincidencia de cuántos 1 tienen en
común.
La imagen resultante en la parte superior derecha de la figura anterior se llama Feature Map . Esa es
esencialmente la cantidad de características convolucionadas. El resultado es una reducción de la
información de la imagen de entrada. Cuando tenemos un 2 significa que reducimos la imagen, pero
un 4 significa que reducimos aún más la imagen original, y eso hace que la imagen sea más fácil de
procesar. La pregunta es si hay pérdida de información aplicando el filtro Feature Detector. Cuanto
mayor sea el número que tenemos en el mapa de funciones, mejor es el proceso de filtrado y eso
significa que no estamos perdiendo muchas funciones. Esencialmente, creamos múltiples mapas de
características como filtros de detección de características que necesitamos (por ejemplo, detección
de bordes, detección de desenfoque, detección de relieve).
PASO 2 - Capa ReLU Esta es la función de Unidad lineal rectificada , un paso adicional además de
Convolución. La razón por la que se utiliza ReLU es para aumentar la no linealidad. La razón por la
que queremos aumentar la no linealidad es porque las imágenes son altamente no lineales, por eso
queremos romper la linealidad.
Lo que hace ReLU, por ejemplo, en una imagen en blanco y negro, es eliminar el componente lineal
creado por las sombras en una imagen. De hecho, las sombras se muestran en una imagen como una
progresión lineal de escala de grises, y podemos excluir esta información demasiado detallada usando
ReLU.
PASO 3 - Max Pooling Por lo general, podemos tener una característica (por ejemplo, un perro) de
una imagen presentada en muchas posiciones u orientaciones diferentes. Tenemos que estar seguros
de que nuestra red neuronal tiene una propiedad llamada Invariancia espacial . Esto significa que no
importa dónde se ubican las funciones en diferentes entornos, o si están más cerca o un poco más
separadas: nuestra red neuronal debe tener la flexibilidad para encontrar la función. Para conseguir
eso usamos Pooling .
De la figura anterior, usamos Max Pooling . Tomamos un cuadro de 2x2 píxeles del Feature Map
creado previamente, encontramos el valor máximo y lo reportamos en el Pooled Feature Map .
Repetimos este proceso moviendo el cuadro 2x2 en el Feature Map. El resultado es que todavía
estamos preservando las características, y debido a que estamos tomando el máximo de píxeles,
estamos teniendo en cuenta cualquier distorsión y posible distorsión espacial o de textura o de otro
tipo. Además, otro beneficio de la agrupación es que estamos reduciendo la cantidad de parámetros
y, por lo tanto, estamos evitando el sobreajuste. eso es como en los humanos, porque lo importante
para la visión no es ver exactamente todas las características que pueden ser ruidosas, sino que los
humanos desprecien la información innecesaria. Hay muchos tipos de agrupación, y evaluar el tipo
de agrupación es crucial. Hay un artículo muy importante sobre eso que se llama: Evaluación de las
operaciones de Pooling en Arquitecturas Convolucionales para el Reconocimiento de Objetos por
Dominik Scherer . También hay una herramienta en línea muy útil que podemos usar para tener una
mejor idea de lo que sucede durante el proceso de convolución y agrupación, y podemos verificar la
herramienta haciendo clic aquí .
PASO 4 - Aplanamiento El proceso de Aplanamiento simplemente significa reordenar el Mapa de
características agrupadas en una sola columna. Hacemos eso, porque este vector ahora está listo para
usarse como entrada de una ANN para su posterior procesamiento. Todo el proceso descrito hasta
ahora se puede resumir en la siguiente figura.
PASO 5 - Conexión completa El vector aplanado que describimos anteriormente, ahora se usa como
entrada en una ANN completamente conectada . Con totalmente conectado queremos decir que la
capa oculta está totalmente conectada. Esto es por definición una CNN. El propósito de esto es
combinar nuestras funciones en más atributos para predecir las clases aún mejor. De hecho, la
combinación de más atributos (por ejemplo, detección de bordes, detección de desenfoque, detección
de relieve) ayuda a predecir mejor las imágenes. La siguiente figura muestra como ejemplo las
neuronas activadas para un Perro
Los vínculos entre las neuronas y la salida de color violeta para el perro y verde para el gato nos
indican cuáles son las neuronas importantes para el perro y el gato, respectivamente. La siguiente
figura resume todos los pasos considerados hasta ahora.
Softmax y Cross Entropy; De la figura sobre la detección del perro, encontramos 0.95 Perro y 0.05
Gato. La pregunta es cómo estos dos valores suman 1. Eso es posible solo introduciendo la Función
Softmax , la fórmula es la siguiente:
Referencias
[1]"CNN and Softmax - Andrea Perlato", Andreaperlato.com, 2022. [Online]. Available:
https://www.andreaperlato.com/aipost/cnn-and-softmax/. [Accessed: 10- Sep- 2022]
[2]"Personal Image Classifier", Classifier.appinventor.mit.edu, 2022. [Online]. Available:
https://classifier.appinventor.mit.edu/. [Accessed: 10- Sep- 2022]
[3]"Personal Image Classifier: PICaboo", Appinventor.mit.edu, 2022. [Online]. Available:
https://appinventor.mit.edu/explore/resources/ai/picaboo. [Accessed: 10- Sep- 2022]
[4]"Personal Audio Classifier", Appinventor.mit.edu, 2022. [Online]. Available:
https://appinventor.mit.edu/explore/resources/ai/personal-audio-classifier. [Accessed: 10- Sep-
2022]
[5]"FINAL IJCAI_EDUAI_19__Personal_Image_Classifier.pdf", Google Docs, 2022. [Online].
Available: https://drive.google.com/file/d/18x1pGEoKrq_4ShkFdH2hYjoTtc0qyECa/view.
[Accessed: 10- Sep- 2022]