Recopilación de preguntas de la entrevista sobre visión por computadora.

1. Introduzca los principios de la red de detección de objetivos de la serie yolo y la serie ssd. ¿Por qué yolo no es bueno para detectar objetivos pequeños? ¿Cómo se puede mejorar además de reducir el ancla?

  • Detección de objetivos de Yolo: YOLO es un algoritmo de detección de objetivos en tiempo real. Su idea central es clasificar el problema de detección de objetivos como un problema de regresión y predecir la categoría y ubicación del objetivo directamente a partir de la imagen de entrada. Las características principales de YOLO son ① Propagación hacia adelante única (una etapa): YOLO solo necesita una propagación hacia adelante para completar toda la tarea de detección de objetivos, sin procesamiento múltiple complejo. Cuadrícula de segmentación : la imagen de entrada se divide en un número fijo de unidades de cuadrícula, y cada unidad de cuadrícula es responsable de predecir la ubicación y categoría de los objetos contenidos en ella. ③Predicción de múltiples escalas : YOLO utiliza cuadros de anclaje de múltiples escalas para manejar objetos de diferentes tamaños y relaciones de aspecto, lo que ayuda a mejorar el rendimiento de la detección. ④Función de pérdida : YOLO utiliza una función de pérdida de varias partes para medir el error de clasificación y el error de posicionamiento, al tiempo que alienta al modelo a predecir el cuadro delimitador del objeto para ubicarlo con precisión. ⑤Rendimiento en tiempo real : YOLO se desempeña bien en tareas de detección de objetivos en tiempo real debido a su propagación directa única y su diseño eficiente.
  • SSD (Detector MultiBox de disparo único): a diferencia de YOLO, SSD utiliza un método de extracción de características de varios niveles para manejar objetos de diferentes tamaños. ①Extracción de características de varios niveles : SSD utiliza múltiples capas convolucionales para extraer características de la imagen y realizar la detección de objetivos en diferentes niveles. ②Caja de anclaje : SSD utiliza cuadros de anclaje para predecir objetos de diferentes tamaños y relaciones de aspecto. Cada cuadro de anclaje está asociado con una ubicación y tamaño específicos. El modelo predice la ubicación y categoría del objeto en función de estos cuadros de anclaje. ③Función de pérdida : similar a YOLO, SSD utiliza una función de pérdida de varias partes para medir el error de clasificación y el error de posicionamiento para optimizar el rendimiento del modelo. ④Eficiencia : SSD logra un buen equilibrio entre velocidad y precisión. Aunque puede que no sea tan rápido como algunas versiones de YOLO, tiene un buen desempeño en precisión de detección .
  • La razón por la que YOLO no es bueno para detectar objetivos pequeños es porque fue diseñado originalmente para detectar objetivos relativamente grandes. Los métodos que se pueden adoptar son: ① Aumentar la resolución de la imagen de entrada generalmente ayuda a mejorar el rendimiento de detección de objetivos pequeños. ②YOLO puede mejorar el rendimiento de detección de objetivos pequeños al realizar la detección de objetivos a diferentes escalas . ③El uso de la pirámide de funciones puede mejorar la detección de objetivos pequeños. ④La introducción del mecanismo de atención puede ayudar a la red a prestar más atención a objetivos pequeños. ④El uso de técnicas de mejora de datos , como recorte aleatorio, escalado, rotación, etc., puede generar más muestras de objetivos pequeños para ayudar a la red a aprender cómo identificar y localizar objetivos pequeños. . ⑤Establezca anclajes más pequeños y densos. Al diseñar la red neuronal convolucional para retener tantas características objetivo como sea posible.

2. ¿Cómo solucionar el desequilibrio entre muestras positivas y negativas en la muestra?

  • Utilice una función de pérdida de entropía cruzada con equilibrio de clases
  • Realizar aumento de datos en muestras pequeñas
  • Remuestreo (sobremuestreo, aumento del número de muestras de clases minoritarias; submuestreo, reducción del número de muestras de clases mayoritarias)
  • Ajuste de peso, modifique la función de pérdida y otorgue diferentes pesos a muestras de diferentes categorías.

3. Presente brevemente el principio de la máquina de vectores de soporte SVM.

La máquina de vectores de soporte es un modelo de clasificación de dos clases. Su modelo básico se define como un clasificador lineal con el intervalo más grande en el espacio de características. Su estrategia de aprendizaje es maximizar el intervalo, que finalmente se puede transformar en la solución de una cuadrática convexa. problema de programación.

4. ¿Qué algoritmos de aprendizaje automático no requieren normalización?

  • Modelos que deben normalizarse: modelos basados ​​​​en cálculo de distancia: KNN, modelos resueltos por descenso de gradiente (regresión lineal, regresión logística, máquina de vectores de soporte, red neuronal)
  • Los modelos de árbol no requieren normalización porque no les importan los valores de las variables, sino la distribución de las variables y las probabilidades condicionales entre variables. Como árboles de decisión y bosques aleatorios.

5. ¿Por qué no es necesario normalizar la estructura de árbol?

Dado que el escalado numérico no afecta la posición del punto de división, no tiene ningún impacto en la estructura del modelo de árbol. Si se clasifican según valores propios, el orden de clasificación permanece sin cambios, por lo que las ramas y puntos de división a los que pertenecen no serán diferentes. Además, el modelo de árbol no puede realizar un descenso de gradiente, porque al construir un modelo de árbol (árbol de regresión) para encontrar el punto óptimo, se completa encontrando el punto de división óptimo, por lo que el modelo de árbol es escalonado y el punto escalonado no es diferenciable y la derivación no es posible, es decir, no hay necesidad de normalización.

6. En k-medias o KNN, a menudo usamos la distancia euclidiana para calcular la distancia entre los vecinos más cercanos. A veces también usamos la distancia de Manhattan. Compare la diferencia entre estas dos distancias.

  • Distancia euclidiana: Es el método de medición de distancias más común, también conocida como distancia en línea recta. Calcula la distancia entre dos puntos tal como lo haría con una distancia en línea recta en un plano 2D. La distancia euclidiana tiene en cuenta las diferencias en cada dimensión, por lo que es más adecuada para situaciones en las que las escalas de las características de cada dimensión son similares.
  • Distancia de Manhattan: Es la suma de las longitudes de los segmentos de recta vertical a lo largo del eje de coordenadas, por lo que también se le llama distancia de manzana. Calcula la distancia entre dos puntos, igual que la distancia que recorrerías por una calle de una ciudad. La distancia de Manhattan es más adecuada para situaciones en las que se tienen en cuenta las escalas de entidades en cada dimensión, porque se calcula de forma independiente en cada dimensión. 
  • Resumen y comparación: ① La distancia euclidiana generalmente funciona mejor cuando las escalas en cada dimensión son similares, porque tiene en cuenta las diferencias entre cada dimensión. ②La distancia de Manhattan es más adecuada cuando las escalas en cada dimensión son diferentes o los datos muestran una distribución de bloques obvia, porque no considera las diferencias entre las dimensiones, sino que solo calcula la distancia en el eje de coordenadas. ③La elección del método de medición de distancia generalmente depende de la naturaleza del problema y las características de los datos. En algunos casos, incluso puedes intentar utilizar otras medidas de distancia personalizadas para capturar mejor las similitudes o diferencias entre los datos.

7. Razones por las que CNN funciona bien en imágenes

El uso de datos de imagen directamente como entrada no solo elimina la necesidad de preprocesamiento manual de imágenes y extracción de características adicionales y otras operaciones complejas, sino que también permite que el procesamiento de imágenes alcance un nivel casi humano con su exclusivo método de extracción de características de grano fino.

8. Cálculo de parámetros y importes de cálculo.

La entrada de convolución es W x H x C, el núcleo de convolución es K x K x N y la salida es W1 x H1 x C1.

  • Cantidad de cálculo: W1 x H1 x C1 x K x K x C 
  • Parámetros: C1 x K x K x C

9. Experiencia en ajuste de parámetros y modificación de modelos.

  • Nivel de datos : obtenga más datos, amplifique o genere datos, normalice o estandarice datos y vuelva a seleccionar funciones.
  • Nivel de algoritmo: realice una encuesta de muestra sobre el algoritmo. Seleccione el algoritmo con el mejor rendimiento y luego mejore el método de remuestreo mediante un mayor ajuste de parámetros y preparación de datos. La selección del modelo y el ajuste de parámetros se pueden completar primero en un pequeño conjunto de datos y luego el método final se puede extender a todo el conjunto de datos.
  • Ajuste de parámetros: ① Diagnóstico, en cada ciclo, evalúe el rendimiento del modelo en el conjunto de entrenamiento y el conjunto de validación, y haga un gráfico; ② Inicialización ponderada , pruebe diferentes métodos de inicialización y examine si existe un método que pueda usarse cuando otras condiciones permanecen sin cambios. El efecto es mejor; ③ Tasa de aprendizaje: pruebe una tasa de aprendizaje que disminuya con el ciclo o aumente el término de impulso; ④ Función de activación : pruebe funciones de activación comunes y reescale sus datos para cumplir con los límites de la función de activación ; ⑤ Tamaño de lote y período . Pruebe diferentes tamaños de lote y número de épocas. El tamaño del lote determinará el gradiente final. y la frecuencia de actualización de las ponderaciones. ⑥Regularización : pruebe diferentes métodos de regularización, disminución de peso (caída de peso) para castigar pesos grandes, restricción de activación (restricción de activación) para castigar valores de activación grandes, pruebe métodos de abandono en la entrada, capa oculta y capa de salida respectivamente, o Algoritmos de optimización y funciones de pérdida: pruebe diferentes algoritmos de optimización (SGD, ADAM, RMSprop,,,). La función de pérdida que se va a optimizar es muy relevante para el problema que se intenta resolver y debe ajustarse adecuadamente. ⑧Detención anticipada. Una vez que el rendimiento del conjunto de validación disminuye durante el proceso de capacitación, puede detener la capacitación y el aprendizaje. Este es un método de regularización para evitar el sobreajuste del modelo en los datos de capacitación.
  • Mejore el rendimiento mediante modelos anidados: obtenga un excelente poder predictivo combinando múltiples modelos "suficientemente buenos", en lugar de combinar múltiples modelos altamente ajustados (frágiles).

10. Describa brevemente las diferencias y mejoras de Inception v1-v4.

  • v1: ① Usar núcleos de convolución de diferentes tamaños significa diferentes tamaños de campos receptivos, y el empalme final significa la fusión de características de diferentes tamaños; ② Usar las operaciones de convolución (1x1, 3x3, 5x5) y agrupación (3x3) de uso común de CNN Apilarlos juntos (el tamaño después de la convolución y la agrupación es el mismo, agregando los canales) por un lado aumenta el ancho de la red, por otro lado también aumenta la adaptabilidad de la red al tamaño; ③ Para reducir el Cantidad de cálculo, se agrega un volumen de 1x1 al producto.
  • v2: ① Descomposición convolucional, que reemplaza una única capa convolucional de 5x5 con una pequeña red compuesta por dos capas convolucionales consecutivas de 3x3, lo que reduce la cantidad de parámetros mientras mantiene el rango del campo receptivo y también profundiza la red. ② Propuso el famoso método de normalización por lotes (BN)  , que estandarizará el interior de los datos de cada mini lote para que la salida pueda normalizarse a la distribución normal de N (0,1), acelerando la velocidad de entrenamiento de la red y aumentar el tamaño de la red.La tasa de aprendizaje ③ BN juega un papel en la regularización en cierto sentido, por lo que la deserción se puede reducir o eliminar y la estructura de la red se puede simplificar. v2 es 14 veces más rápido cuando el entrenamiento alcanza la precisión de v1, y la precisión de convergencia final también es mayor que la de v1.
  • v3: ① Teniendo en cuenta el núcleo de convolución nx1, una convolución bidimensional más grande se divide en dos convoluciones unidimensionales más pequeñas (7x7 se divide en 7x1 y 1x7, 3x3 se divide en 1x3 y 3x1). Por un lado, ahorra una gran cantidad número de parámetros, acelera las operaciones y reduce el sobreajuste), al tiempo que aumenta aún más la profundidad de la red y aumenta la no linealidad de la red. ②Optimizó la estructura del módulo inicial
  • v4: utilice la estructura residual (conexión residual) para mejorar la estructura v3

11. ¿Cómo está diseñada la estructura inicial en Inception v1?

  • El uso de núcleos de convolución de diferentes tamaños significa campos receptivos de diferentes tamaños, y el empalme final significa la fusión de características de diferentes escalas.
  • Esta estructura apila las convoluciones (1x1, 3x3, 5x5) y las operaciones de agrupación (3x3) comúnmente utilizadas en CNN (los tamaños después de la convolución y la agrupación son los mismos, y se agregan los canales). Por un lado, aumenta el ancho de la red, por otro lado, también aumenta la adaptabilidad de la red a escala.

  • Sin embargo, en la versión original de Inception anterior, todos los núcleos de convolución se realizan en todas las salidas de la capa anterior, y la cantidad de cálculo requerida para el núcleo de convolución 5x5 es demasiado grande, lo que requiere alrededor de 120 millones de cálculos, lo que resulta en El grosor del El mapa de características es muy grande.
  • Para evitar esta situación, se agrega un núcleo de convolución 1x1 antes de 3x3, antes de 5x5 y después de la agrupación máxima para reducir el grosor del mapa de características . Esto también forma la estructura de red de Inception v1, como se muestra en la siguiente figura. :

12. ¿Por qué Inception utiliza un núcleo de convolución 1x1?

  • El objetivo principal de la convolución 1x1 es reducir la dimensión y también corregir la activación lineal (relu). Por ejemplo, la salida de la capa anterior es 100x100x128, después de una capa de convolución de 5x5 con 256 canales (stride=1, pad=2 ), los datos de salida son 100x100x256, donde los parámetros de la capa convolucional son 128x5x5x256=819200. Y si los datos de salida de la capa anterior pasan primero a través de una capa de convolución de 1x1 con 32 canales y luego pasan a través de una capa de convolución de 5x5 con 256 salidas, entonces los datos de salida siguen siendo 100x100x256, pero la cantidad de parámetros de convolución se ha reducido a 128x1x1x32 + 32x5x5x256 = 204800, una reducción de aproximadamente cuatro veces.
  • Profundiza la capa de la red y mejora la no linealidad de la red.

13. Evolución de la red CNN

  • LeNet: 2 convoluciones + 3 completamente conectadas, utilizado por primera vez para reconocimiento digital.
  • AlexNet: campeón de ImageNet durante 12 años, 5 convoluciones y 3 completamente conectadas, múltiples convoluciones pequeñas en lugar de una única convolución grande, utilizando la función de activación ReLU para resolver el problema del gradiente decimal; introduciendo abandono para evitar el sobreajuste del modelo; agrupación máxima.
  • ZF-Net: campeón de ImageNet en 2013, utilizando solo la estructura de conexión densa de una GPU; cambiando el núcleo de convolución de la primera capa de AlexNet de 11 a 7 y el tamaño del paso de 4 a 2.
  • VGG-Nets: Segundo lugar en la clasificación ImageNet en 2014. Una red más profunda. La capa convolucional utiliza tamaños e intervalos de filtro más pequeños; múltiples convoluciones pequeñas le dan a la red más no linealidad y menos parámetros.
  • GoogLeNet : No. 1 en la clasificación ImageNet en 2014. Se introduce el módulo Inception, el uso de núcleos de convolución de diferentes tamaños significa campos receptivos de diferentes tamaños, y el empalme final significa la fusión de características de diferentes escalas; se utiliza la agrupación promedio en lugar de la capa completamente conectada para evitar la desaparición del gradiente y la red. agrega dos auxiliares adicionales. El softmax se utiliza para conducir el gradiente hacia adelante.
  • ResNet : Introducir la unidad residual para simplificar los objetivos y la dificultad del aprendizaje, acelerar el entrenamiento y no causará problemas de degradación cuando se profundice el modelo; puede resolver efectivamente los problemas de desaparición y explosión de gradiente durante el proceso de entrenamiento.
  • DenseNet : conexión densa; fortalece la propagación de funciones, fomenta la reutilización de funciones y reduce en gran medida la cantidad de parámetros.

14. Introducción a CNN, cada capa y su función.

  • La capa de detección de características de CNN aprende a través de datos de entrenamiento. Cuando se usa CNNC, se evita la extracción explícita de características y el aprendizaje se realiza implícitamente a partir de los datos de entrenamiento. Dado que los pesos de las neuronas en la misma superficie de mapeo de características son los mismos, la red puede aprender en paralelo. , que también es una gran ventaja de las redes convolucionales sobre las redes donde las neuronas están conectadas entre sí. La red neuronal convolucional tiene ventajas únicas en el reconocimiento de voz y el procesamiento de imágenes con su estructura especial de reparto de peso local. El peso compartido reduce la complejidad de la red. En particular, las imágenes con vectores de entrada multidimensionales se pueden ingresar directamente a la red, lo que evita la complejidad de la reconstrucción de datos durante la extracción y clasificación de características.
  • Las redes convolucionales constan principalmente de capas convolucionales, funciones de activación, capas de agrupación y capas completamente conectadas. ① Capa de convolución: utilice núcleos de convolución para la extracción y el mapeo de características; ② Función de activación (Activación) : dado que la convolución también es una operación lineal, es necesario agregar un mapeo no lineal; ③ Capa de agrupación (Pool) : para entrada El mapa de características está comprimido , por un lado, hace que el mapa de características sea más pequeño y simplifica la complejidad del cálculo de la red; por otro lado, comprime las características y extrae las características principales; ④ Capa completamente conectada (FC): conecta todas las características y envía la salida . valor al clasificador. (Descansa primero y luego actualiza

Supongo que te gusta

Origin blog.csdn.net/qq_43687860/article/details/132857594
Recomendado
Clasificación