- Mi momento favorito de ingeniería mecánica fue cuando jugué con la supresión de timbres en sistemas dinámicos sin usar controladores .
- Mi momento favorito de visión artificial fueron los resultados listos para usar del algoritmo de factorización de matriz no negativa de Seung .
Supresión de timbres en sistemas dinámicos sin usar controladores .
Antecedentes: en la dinámica de los sistemas mecánicos, y específicamente en el diseño de motores lineales y steppers (actuadores), existe este concepto de timbre y oscilación que ocurre a la frecuencia mecánica natural (frecuencia de resonancia) del objeto. Por ejemplo, si desea que un motor gire exactamente 10 grados y se detenga allí mismo, no lo hará.
Proporcionará al actuador una señal de control (básicamente una señal de voltaje para sistemas piezoeléctricos / electrostáticos o una señal de corriente para sistemas electromagnéticos) que teóricamente empuja el actuador hasta el número de rotación de 10 grados y luego generalmente mantendrá la señal allí. Pero el actuador solo oscila unos 10 grados +/- pocos grados (dependiendo del cumplimiento del sistema) durante un tiempo. Este es el concepto clásico de timbre y sobreimpulso.
- ¿Cuáles son las especulaciones más comunes y científicamente fundamentadas sobre lo que sucedía en el universo antes de la inflación?
- ¿Podemos hacer aviones de combate con algún tipo de material aislante para evitar el radar?
- ¿Son idénticos los estudios gemelos idénticos ahora?
- ¿Por qué nos atrae lo 'Desconocido'?
- ¿Cuál es la mejor teoría científica?
A veces nos importa minimizar este comportamiento porque introduce un montón de ruidos (electromagnéticos, ópticos …) en el sistema y reduce la rapidez con la que un sistema puede responder a las señales de entrada (por ejemplo, en los motores paso a paso reduce su velocidad de paso discreta ) También afecta la resolución estadística y la precisión que se puede obtener de los actuadores de posicionamiento.
Hay algunas maneras de controlar esto: muy a menudo implementado usando la teoría de control de retroalimentación / avance donde necesita sensores adicionales y muchas otras cosas (digitalizadores, microprocesadores, DSP y ancho de banda). El uso de controladores PID (en cascada / por partes) es el enfoque favorito de todos para resolver esto. Lo que haces allí es ajustar la ‘amortiguación efectiva’ en el sistema para que sea crítica. Pero este enfoque es problemático si sus frecuencias de actuación son del orden de 10s de KHz. También existen estos sofisticados algoritmos de control de vectores utilizados en el control de motores que usan flujo / EMF / torque como referencias de entrada, pero estos son realmente difíciles de implementar en sistemas pequeños de factor de forma subminiatura.
Teniendo un fondo dinámico de sistemas / ingeniería estructural, solía especular que el timbre podría ser suprimido al incluir ciertas frecuencias estructurales en la señal de control en sí (bastante obvio, en realidad). Más tarde encontró un artículo publicado en los años 80 por Kenji Uchino sobre el control de los cabezales de impresión piezoeléctricos / electromagnéticos de matriz de puntos, que hablaba exactamente de esto. Recuerdo haber criticado a todos los que conocía que tenían interés en la dinámica con ese documento.
Hice algunas simulaciones rápidas para verificar la teoría (Imágenes 1 y 2), y luego realicé experimentos para verificar la implementación (Imágenes 3 y 4). Raramente busco la verificación experimental ( realmente confío en mis modelos) pero esta vez tuve que verla yo mismo.
Me sorprendió lo sencillo que hizo el diseño del sistema. Los EE se enojaron porque esto significaba un cambio de diseño y canales DAC adicionales en un espacio de diseño ya limitado.
Imagen 1. [Teórico] Muestra los efectos de un timbre / sobreimpulso simple donde la señal de control no tiene en cuenta los armónicos estructurales .
Imagen 2. [Teórico] Muestra los resultados de incluir armónicos estructurales en la señal de control y cuán robusto es hasta un 10% de desajuste en las frecuencias.
Imagen 3. Muestra la respuesta experimental de un sistema donde la señal del variador NO ha sido modificada para incluir armónicos estructurales del actuador.
Imagen 4. Muestra la respuesta experimental de un sistema donde la señal del variador se ha modificado para incluir armónicos estructurales del actuador.
Supongo que ahora parece bastante trivial, pero en ese momento me pareció alucinante que todos estos diseños de control h / w se basaran en la sintonización de bucle donde un simple proceso de identificación del sistema aún le daría una respuesta estable con una incertidumbre del 20% en su señal de control magnitud. Y realmente no habría ningún requisito para los pasos de ajuste iterativos / manuales que la gente usa generalmente.
Lo segundo que descubrí en la escuela de posgrado (11-755 / MLSP / Bhiksha Raj) fue el poder del algoritmo de factorización de matriz no negativa (y los factores de factorización en general).
Algoritmo de factorización de matriz no negativa utilizado para la transcripción de música.
Antecedentes: la descomposición espectral de PCA / ICA / básica es bastante sencilla de comprender si tiene un fondo de álgebra lineal. Pero la lógica de por qué funciona NNMF se me escapó entonces (todavía lo hace). NNMF es un enfoque para la descomposición de la matriz donde cada factor está restringido a ser no negativo.
Sebastian Seung (Aprendiendo partes de objetos por NNMF) mostró que los resultados de la descomposición basada en NNMF representan características reales o partes de caras, en oposición a cosas como caras abstractas / estadísticas, que simplemente se ven raras. Continuó especulando que tal vez este es el tipo de enfoque que utiliza el cerebro para comprimir / almacenar / recordar información visual.
Imagen 5. ¿Puedes reconocer los ojos, los labios, las cejas, las mejillas en la imagen factorizada a la izquierda?
Imagen 6: Eigenfaces. No tiene mucho sentido
Quería usar el enfoque NNMF en un algoritmo de transcripción de música automatizado. Algunas personas ya habían demostrado que NNMF podría usarse para transcribir música basada en sintetizadores. Pero quería intentar descomponer instrumentos de cuerda (guitarras). Recuerde que los sintetizadores son instrumentos digitales y su acústica se puede muestrear perfectamente, a diferencia de los instrumentos de cuerda en los que no puede evitar usar un micrófono o pastillas electromecánicas (las pastillas también pueden captar el ruido de voz / ambiente transmitido a través de las cuerdas). Hice algunas suposiciones sobre su función máxima (número de cadenas + 1) en las que el +1 representa un canal de ruido (para contener los ruidos no identificados de raspado y raspado de los dedos).
Como no tenía experiencia previa en ML, estaba ansioso por ver si ese enfoque realmente funcionaría. La idea básica es que necesita descomponer el espectrograma de una señal de audio en los componentes de frecuencia y las representaciones de base de tiempo utilizando el algoritmo. La canción que elegí fue ‘Sweet Child of Mine’ de GnR (porque podía tocarla), tenía una introducción clara y distinta que no usaba diapositivas / curvas / pellizcos armónicos y no era demasiado sofisticada.
De todos modos, lo intenté. La teoría sonaba bien, pero este fue mi mayor proyecto s / w hasta entonces (el NNMF era solo una pequeña parte del algoritmo, había cosas que hacer con la detección de inicio, coincidencia de frecuencia, interfaces de tabulación, alineaciones de secuencia …). Eso me puso muy nervioso. No sabía cuánto trabajo era esto hasta que realmente comencé a hackearlo.
Así que me alegró mucho ver que NNMF descompuso mágicamente los espectrogramas (Imagen 7) a las representaciones correctas de frecuencia (Imagen 8) y tiempo (Imagen 9). Mi simple generador de tablaturas también funcionó decentemente.
Imagen 7: espectrograma de introducción de GnR / SwChOM.
Imagen 8: La matriz W que muestra las frecuencias contenidas en la descomposición. La séptima fila muestra el contenido de frecuencia de ruido no identificable.
Imagen 9: La matriz H que muestra los tiempos en que las frecuencias entraron y salieron del espectrograma. La séptima fila muestra que el ruido se corresponde con los rasguños de los dedos en las cuerdas justo antes de tocar una cuerda.
Imagen 10: La introducción transcrita manualmente.
Imagen 11: La introducción transcrita algorítmicamente de las versiones iniciales del algoritmo. Compare esto con la transcripción manual que se muestra en la Imagen 10. Las unidades de tiempo son diferentes y no están alineadas con precisión. Podríamos obtener una transcripción precisa de alrededor del 60% después de unos meses más de trabajo.