Construyendo Interfaces Controladas por el Cerebro en JavaScript

Rate this content
Bookmark

La neurotecnología es el uso de herramientas tecnológicas para entender más sobre el cerebro y permitir una conexión directa con el sistema nervioso. La investigación en este campo no es nueva, sin embargo, su accesibilidad para los desarrolladores de JavaScript sí lo es.

En los últimos años, los sensores cerebrales se han puesto a disposición del público, con herramientas que hacen posible que los desarrolladores web experimenten construyendo interfaces controladas por el cerebro.

A medida que esta tecnología evoluciona y desbloquea nuevas oportunidades, vamos a analizar uno de los últimos dispositivos disponibles, cómo funciona, las posibilidades que abre y cómo empezar a construir tu primera aplicación controlada por la mente usando JavaScript.

27 min
09 Jun, 2021

Video Summary and Transcription

Aprende a construir interfaces controladas por el cerebro usando JavaScript y sensores cerebrales. Entiende las funciones de las diferentes partes del cerebro y cómo se relacionan con la colocación de los sensores. Explora ejemplos de detección de calma y enfoque, así como la API de Kinesis para comandos mentales. Descubre las aplicaciones de las interfaces controladas por el cerebro, como el desplazamiento de páginas web y la autenticación sin contraseña. Entiende los límites y oportunidades del control cerebral y el potencial de usar sensores cerebrales en aplicaciones médicas.

Available in English

1. Introducción a las Interfaces Controladas por el Cerebro

Short description:

Aprende a construir interfaces controladas por el cerebro usando JavaScript. Charlie Girard, desarrollador frontend senior en Netlify, comparte ideas sobre cómo usar sensores cerebrales para transformar la actividad cerebral en datos digitales. Descubre el NeuroCity Notion, un sensor cerebral comercial, y cómo el número de electrodos impacta en sus casos de uso.

Hola a todos, gracias por unirse a mí hoy para aprender más sobre cómo construir interfaces controladas por el cerebro usando JavaScript. Antes de sumergirnos en este tema, aquí hay un poco más sobre mí. Mi nombre es Charlie Girard. Soy un desarrollador frontend senior en Netlify. También formo parte del grupo de Expertos en Desarrollo Web de Google. Es un grupo de comunidad patrocinado por Google para desarrolladores que desean devolver a la comunidad de diferentes maneras. También soy el autor de un libro sobre TensorFlow.js para desarrolladores de JavaScript. Sobre todo, paso mucho de mi tiempo personal construyendo e investigando prototipos sobre la interacción humano-computadora, que también se llama HCI. Eso es el estudio del diseño y uso de la tecnología informática centrado en las interfaces entre las personas y las computadoras. Puede involucrar muchas cosas como AR, VR, artes interactivas, machine learning, etc. He estado interesado en esto desde que comencé a aprender a code. A lo largo de los años, mi investigación me ha llevado al tema de hoy. No tiene nada que ver con mi trabajo diario en Netlify, pero espero que esta charla les muestre que pueden usar sus habilidades de JavaScript para muchas cosas diferentes. El enfoque de hoy es nuestro cerebro y cómo usarlo para interactuar directamente con las interfaces usando JavaScript. ¿Cómo podemos obtener data directamente de nuestra actividad cerebral y escribir algo de JavaScript code para usarlo para interactuar con interfaces o dispositivos? ¿Cómo obtenemos incluso estos data de nuestro cerebro? Hacemos esto con la ayuda de sensores cerebrales. Estos son dispositivos que contienen electrodos que colocas en el cuero cabelludo. En contacto con la piel, son capaces de transformar las señales eléctricas que provienen del cerebro en data digital con el que podemos trabajar. En esta diapositiva, puse algunos de los sensores cerebrales comerciales que puedes comprar actualmente. Puedes ver que vienen en diferentes formas. Tienen diferente número de electrodos. Eso impactará en lo que puedes rastrear y qué tipo de aplicaciones puedes construir con él. Probablemente hay más sensores cerebrales disponibles por ahí, pero aquí están los que más he oído hablar o jugado con. El que se va a centrar en esta charla es el de la parte inferior derecha. Se llama NeuroCity Notion. Recientemente lanzaron un nuevo modelo llamado Crown. Si alguna vez estás interesado en comprarlo, ahora puede llamarse Crown, pero experimenté con una de sus primeras versiones que se llamaba Notion. Para entender cómo el número de electrodos impacta en los casos de uso, hablemos brevemente sobre cómo funciona. En el contexto del dispositivo Notion, resalté en verde la ubicación de los electrodos basándome en su número de referencia en el sistema EEG 1020. Este es un sistema que es una referencia en neurotecnología, y es una especie de mapa que representa la ubicación de los electrodos en la cabeza de un usuario.

2. Sensores cerebrales y análisis de datos

Short description:

Aprende sobre los diferentes sensores cerebrales y su colocación en la cabeza. Comprende las funciones de las diferentes partes del cerebro y cómo se relacionan con la colocación de los sensores. Explora los datos brutos y las características disponibles en la interfaz de usuario de Neuro CT Notion, incluyendo la detección de concentración y calma. Descubre el proceso de entrenamiento de comandos mentales personalizados utilizando el auricular Notion.

En la parte superior está el frente de tu cabeza y en la parte inferior está más atrás. Cada electrodo tiene un número y una letra de referencia. Entonces, estos son importantes porque te darán una idea del tipo de ondas cerebrales que puedes rastrear dependiendo del área del cerebro que los electrodos están más cerca. Entonces, Notion tiene ocho electrodos, cuatro en el lado izquierdo del cerebro y cuatro en el lado derecho, principalmente enfocados en la parte superior y el frente de la cabeza. Entonces esto es importante saber porque dependiendo de la colocación de los electrodos, obtendrás data de diferentes partes del cerebro. Entonces, significa que lo que puedes interpretar de la data que estás obteniendo variará. Entonces aquí hice una pequeña animation para explicar de qué estoy hablando. Entonces, diferentes partes del cerebro tienen diferentes propósitos. En el frente, tienes el lóbulo frontal, luego el cerebelo está en la parte inferior trasera, el lóbulo parietal en la parte superior, etc. No tienes que saber esto de memoria, pero, y puede que no signifique mucho para ti ahora mismo, pero están a cargo de diferentes funciones fisiológicas. Entonces, por ejemplo, el lóbulo frontal se encarga de movimiento voluntario y concentración y resolución de problemas. El lóbulo parietal en la parte superior está más enfocado en sensaciones y conciencia corporal. Y el lóbulo temporal es el que está al lado que recibe información sensorial de los oídos y procesa esa información en unidades significativas como el habla y las palabras. Entonces, dependiendo de lo que te gustaría rastrear o construir, querrás revisar diferentes sensores cerebrales hacia la posición para ver que es más probable que se estén enfocando en el área del cerebro que te interesa. Por ejemplo, uno de los sensores cerebrales en una de las diapositivas anteriores se llama NextMind y se enfoca principalmente en el lóbulo occipital en la parte media trasera porque afirman estar enfocándose en la visión del usuario para tratar de predecir lo que alguien está mirando. Entonces, de todos modos, ahora que hemos hablado de los sensores cerebrales, ¿cómo se ve para nosotros como desarrolladores de JavaScript? Entonces, con la noción de neuro CT tienes acceso a una UI en la que puedes ver diferentes gráficos. Entonces, aquí está la parte de la UI donde puedes ver tus ondas cerebrales en bruto. Entonces puedes ver las diferentes líneas. Hay ocho de ellos y cada etiqueta responde al nombre de una posición de electrodo basada en el sistema EEG 1020 del que hablé hace unas diapositivas. Entonces esto representa un gráfico de los data en bruto que vienen en vivo del sensor cerebral. Pero en general cuando empiezas en este espacio de neurotecnología no empiezas de inmediato experimentando con data en bruto. La mayoría de los sensores cerebrales por ahí han implementado cosas como detección de concentración o calma que puedes usar sin tener que construir tu propio modelo de machine learning. Entonces, la detección de concentración y calma no necesita ningún entrenamiento porque se basan en un patrón de ondas cerebrales que son bastante comunes entre todos. Sin embargo, los comentarios mentales personalizados tienen que ser entrenados, entonces, ¿qué quiero decir con eso? No te molestes en leer toda la lista, pero para el auricular Notion los comandos que puedes entrenar se centran en imaginar movimientos específicos. Entonces puedes ver morder un limón o pellizcar tu dedo izquierdo o pensar en empujar algo en el espacio. Por ejemplo, aquí está cómo se ve el entrenamiento del comentario mental del pie derecho. Entonces también puedes hacerlo con su API, pero en general para hacerlo más rápido lo haces a través de su UI. Entonces tienes dos animations jugando cada pocos segundos para guiarte en lo que se supone debes hacer. Entonces tienes que alternar entre estados de concentración en ese comentario, así que piensa en golpear tu pie derecho en el suelo y también descansar donde se supone que debes intentar pensar

3. Entrenamiento, Detección y Datos Crudos

Short description:

Aprende cómo se registra y utiliza los datos cerebrales para predecir la actividad mental. Las sesiones de entrenamiento personalizadas pueden ser desafiantes pero emocionantes. Explora ejemplos de detección de calma y concentración, así como la API de Kinesis para comandos mentales. Desencadena eventos de UI basados en probabilidades y trabaja con datos crudos.

sobre nada en absoluto. Mientras haces esto, tus datos cerebrales se registran y su algoritmo de aprendizaje automático intenta detectar patterns entre los dos tipos de actividad mental. Así puede predecir con precisión si te estás concentrando en el pensamiento del pie derecho o no. Por lo tanto, esta sesión de entrenamiento dura unos minutos y puedes probar si funcionó en la UI de lo contrario deberías volver a entrenar hasta que las predicciones sean más precisas. Puede ser un poco difícil porque requiere concentración y se siente extraño al principio tener que pensar en movimientos sin hacerlos realmente, pero es un ejercicio interesante y cuando funciona es bastante emocionante. Cuando eres capaz de realmente pensar en mover tu pie derecho y ser capaz de desencadenar algo en la UI, es bastante genial. Pero esto también significa que las sesiones de entrenamiento son personalizadas. Si entreno el comando del pie derecho para mí, aprenderá basándose en mis datos cerebrales, por lo que si le pido a un amigo que use el sensor cerebral e intente ejecutar un comando de pie derecho, probablemente no funcionará porque los datos cerebrales podrían ser diferentes. Entonces, una vez que entrenas la plataforma para reconocer patterns en tus ondas cerebrales, puedes usarlo en tu code. Así que vamos a ver algunos ejemplos. Entonces, el primero que vamos a ver es la detección de calma y concentración porque es algo así como el más rápido. Así que empiezas importando el paquete Notion NPM, luego instancias un Notion con new Notion y luego puedes suscribirte a varios eventos diferentes. Así que aquí nos suscribimos al evento de calma y lo que devuelve es un objeto con múltiples propiedades, incluyendo la probabilidad de un estado de calma. Entonces, lo que puedes hacer, por ejemplo, puedes desencadenar eventos de UI cuando la probabilidad de estar calmado es superior o inferior a un cierto umbral. Así que aquí si la probabilidad es inferior a 0.25, por lo que si no estoy realmente calmado, podríamos desencadenar algo de música clásica para tratar de calmar a alguien y ver si la probabilidad aumenta. Ese número de probabilidad está entre cero y uno, lo que significa cero no calmado y uno realmente calmado. Y lo que es agradable con el auricular Notion en su API es que es bastante similar para diferentes eventos en términos de sintaxis.

Así que aquí está la sintaxis para obtener el estado de concentración del usuario. Así que si implementas el estado de calma en tu code, no tienes que cambiar mucho para luego pasar a suscribirte al estado de concentración. Así que aquí en este ejemplo de code, si mi concentración es superior a 0.5, apaga mis notificaciones para que no me distraiga y pierda la concentración. Así que ahora, aparte de la calma y la concentración, también está disponible la API de Kinesis para los comentarios mentales de los que hablé anteriormente. Así que te suscribes al evento de Kinesis que quieres usar, y también devuelve un objeto con una probabilidad de que ese comentario se ejecute en tu mente. Así que un algoritmo de machine learning está mirando los datos cerebrales en vivo e intenta detectar si el patrón es similar al comentario del brazo derecho que entrenaste. Y te da la probabilidad de la precisión de la predicción. Así que probablemente querrías hacer algo como un evento de UI si la probabilidad es superior a 0.99, por ejemplo, si necesitas que sea muy preciso. Pero si quieres ser un poco más flexible, podrías desencadenar un evento si la probabilidad es superior a 0.8, por ejemplo. Realmente depende de ti. Y luego, finalmente, si quieres trabajar con datos crudos, puedes suscribirte al evento de ondas cerebrales. Y devuelve un objeto que contiene los data de los ocho canales del sensor cerebral, así como la frecuencia y PSD para la densidad del espectro de potencia, creo, que es una representación de los datos crudos una vez procesados, y también una marca de tiempo. Así que la marca de tiempo es importante porque los data que estás obteniendo son sin pérdida. Obtendrás todos los data del sensor cerebral, pero entonces significa que podrías tener un

4. Uso de Marcas de Tiempo y Construcción de Demos

Short description:

Aprende a usar marcas de tiempo para comparar los datos del sensor cerebral con el tiempo de la UI. Ve ejemplos de cómo construir un juego de Street Fighter y controlar el juego Chrome Dino con comandos mentales. Explora el código de estas demos y la facilidad de integrar el sensor cerebral con la UI. Descubre la última demo usando ondas cerebrales crudas.

un pequeño retraso para recibirlo. Y lo que te permite, la marca de tiempo te permite comparar el tiempo actual en tu UI con el momento en el que los data del sensor cerebral fueron realmente registrados. Así que dependiendo del tipo de aplicación que estás construyendo, esto podría ser realmente importante. Ahora que hemos hablado de los diferentes tipos de eventos o estados que puedes rastrear usando la noción y cómo usar eso en JavaScript. Voy a mostrar algunos ejemplos de cosas que he construido usando este sensor cerebral. Así que mi primera demo que construí con la noción fue un prototipo de un juego de Street Fighter controlado con comandos mentales. Para esto, en realidad reutilicé una demo anterior que había construido usando reconocimiento de gestos. En mi demo anterior, estaba usando otra pieza de hardware que tenía un acelerómetro y un giroscopio. Así que usualmente un dispositivo que está alrededor rastreando velocidad y rotación. Así que grabé data en vivo mientras ejecutaba golpes reales y harakens en el aire, y usé machine learning para encontrar patterns de estos data de gestos y luego poder predecir harakens y golpes de nuevo, pero desde data en vivo para aplicarlo al juego. Así que podía jugar Street Fighter en la vida real en lugar de usar el teclado. Como esta demo anterior funcionó, pensé que quería intentar reutilizar la mayor parte del code, pero usar comandos mentales como disparadores en su lugar. Y funcionó, entrené dos comandos mentales diferentes y luego activé el juego cuando la probabilidad de los comandos estaba por encima de un cierto umbral. Mi segunda demo fue usando un solo comando mental. Probablemente ya has jugado al juego Chrome Dino antes, pero necesita una sola entrada, generalmente presionando la barra espaciadora. Así que pensé que era el caso de uso perfecto para usarlo con la noción. En este caso, no necesité construir una UI personalizada, no modifiqué nada en la UI original del juego Chrome Dino, sólo entrené el comando mental del pie derecho y luego usé un paquete de Node.js llamado robotjs, que te permite disparar eventos como clics o eventos de teclado para disparar la barra espaciadora por mí. Para mí, este es un ejemplo perfecto de una interfaz simple que no necesita ser adaptada para trabajar con el sensor cerebral. Sólo tuve que añadir la conexión entre el sensor cerebral y la UI. Para mostrarte lo rápido que puede ser poner esto junto, vamos a ver el code. Así que este es básicamente todo el code para la demo en la diapositiva anterior. Así que está hecho en Node.js. Así que empiezas requiriendo la noción y los paquetes de robotjs e instancias una noción. Luego te conectas con tu nombre de usuario y contraseña que puedes guardar ya sea en un archivo .env o puedes escribirlos directamente si estás prototipando localmente, porque lo que no mencioné antes es que tienes que iniciar sesión para poder usar tu dispositivo porque los data por privacidad y para poder usar tus propios data y para que no todos puedan tener acceso a eso. Luego te suscribes a la API de Kinesis con el comando mental que entrenaste. Obtienes la cantidad de probabilidad y si está por encima de 0.99 o cualquier número que quieras establecer. Uso RobotJS para disparar un toque de tecla en la barra espaciadora y eso es todo. Luego ejecuté mi script de Node.js. Visité la página del juego Chrome Dino y voila. Así que puedes ver que no hay mucha diferencia entre usar la API en el front-end y back-end, lo cual es bastante genial. Mi última demo es la más avanzada usando ondas cerebrales crudas para

5. Controlando Interfaces con Parpadeos de Ojos

Short description:

Grabó ondas cerebrales para predecir parpadeos de ojos intencionales para controlar interfaces o dispositivos. Superó las limitaciones de la visión por computadora utilizando datos cerebrales. El próximo objetivo es entrenar al modelo para reconocer los movimientos oculares entre izquierda y derecha para más posibilidades de interacción.

por primera vez. En esta demo, grabé mis ondas cerebrales entre un estado neutro y parpadeos de ojos intencionales. Así que construí mi propio modelo de machine learning y luego pude predecir estos parpadeos de ojos a partir de data en vivo. En esta demo, no parece mucho porque es un primer prototipo muy rudimentario, pero significa que puedo controlar interfaces o dispositivos usando parpadeos de ojos intencionales cuando llevo el sensor. Hay muchas formas de detectar parpadeos de ojos utilizando visión por computadora en JavaScript. Pero el problema con la visión por computadora es que tienes que estar colocado frente a tu computadora. Así que la iluminación tiene que ser suficiente para que la detección funcione. A veces algunas herramientas no funcionan con personas de diferentes tonos de piel, etc. Así que estaba emocionado de hacerlo funcionar con data cerebral, porque ahora significa que puede ser, puedo estar en cualquier lugar de la habitación y controlar mis interfaces o dispositivos. No importa si es de día o no, y la iluminación no afecta nada. Y funcionaría con personas de diferentes tonos de piel. Así que mi próximo objetivo sería poder recopilar data y entrenar al modelo para reconocer los movimientos oculares entre izquierda y derecha. Así que podría ser, podría dar más flexibilidad a los usuarios y significa más formas de interactuar con una interfaz. Podrías imaginar que el parpadeo intencional sería reproducir o pausar un video o una canción, y luego mirar a la izquierda sería reproducir el anterior y a la derecha sería

6. Aplicaciones de Interfaces Controladas por el Cerebro

Short description:

Explora las aplicaciones de las interfaces controladas por el cerebro, como la detección de concentración, el desplazamiento de páginas web, el uso de ondas cerebrales en la producción musical y la autenticación sin contraseña. Descubre cómo las ondas cerebrales pueden optimizar el flujo de trabajo, permitir el desplazamiento sin manos, desencadenar efectos en la música y proporcionar una autenticación segura. Imagina un futuro en el que las ondas cerebrales reemplacen las huellas dactilares y el reconocimiento facial para la autenticación, ofreciendo un identificador biométrico único y seguro. Se está llevando a cabo una investigación preliminar para integrar las ondas cerebrales con los autenticadores de plataforma existentes.

reproduciendo la siguiente. Entonces sí, así. Sí. Ahora que hemos hablado de cómo, qué podemos rastrear y cómo implementarlo en code, y hemos pasado por algunas demostraciones. Hablemos sobre más aplicaciones para tecnologías como esta. Una de ellas es detectar la concentración mientras estás trabajando para optimizar tu flujo de trabajo. Ya existe una extensión de VS Code existente que puedes instalar que rastrea tus ondas cerebrales mientras estás trabajando. Por lo tanto, podría ser interesante conocer los momentos del día en los que estás más concentrado, o quizás las partes de tu code base que encuentras más difíciles. O sabes, puedes ser capaz de analizar tus caídas en el estado de concentración y en el estado de calma y poder ver qué sucedió en tu entorno para provocar eso. Otra aplicación es en el desplazamiento de páginas web. Entonces puedes usarlo para accessibility. Si un usuario no puede moverse, podría leer una página usando un comentario mental. Pero también podría ser útil para cualquiera. Si estás acostumbrado a hacer varias cosas a la vez, y sabes que tus manos están ocupadas haciendo algo más, si estás cocinando o comiendo, querrás poder desplazarte por diferentes páginas o detener un video de YouTube mientras estás cocinando o algo así, podrías hacer eso con tus ondas cerebrales mientras tus manos están haciendo algo más. Otra aplicación es la aplicación NeuroCity para Mac OS. Entonces puedes descargar el code desde GitHub, lanzar esta aplicación hecha con Electron, puedes conectar tu dispositivo y activar el modo de no molestar cuando el dispositivo detecta que estás en un estado de alta concentración. Ahora, pasando de los estados de concentración, también puedes construir cosas que son un poco más creativas. Si eres músico, también puedes usar tus ondas cerebrales para ayudarte a producir tu music. Aquí, uno de los founders de NeuroCity está activando un pedal de efectos con sus ondas cerebrales mientras también toca la guitarra. La calidad del GIF tal vez no lo muestra lo suficientemente bien, pero el pedal se presiona varias veces para mostrar que se está activando el efecto de sonido. Podrías pensar si estás tocando un instrumento, estoy seguro de que puedes pensar en formas en las que mientras tus manos están tocando un instrumento, podrías usar tus ondas cerebrales directamente para aplicar ciertos efectos.

Finalmente, algo en lo que he estado pensando durante los últimos días es acerca de la autenticación sin contraseña. Usando la onda cerebral o el sensor cerebral como un dispositivo de autenticación biométrica. Ya estamos familiarizados con el uso de TouchID o FaceID para autenticarnos en dispositivos o servicios. Podríamos imaginar el mismo tipo de sistema, pero usando ondas cerebrales en su lugar. Las ondas cerebrales de cada persona tienen una firma única, por lo que podemos usar esto para identificar a alguien que intenta iniciar sesión en una plataforma. Si nos preocupa la fuga de data, cuando estamos usando TouchID o FaceID, si en algún momento alguien te obliga a iniciar sesión en una plataforma o usa FaceID mientras estás durmiendo o algo así, realmente no podemos crear una huella dactilar diferente o modificar tu rostro. Pero usando ondas cerebrales, puedes reentrenar el dispositivo con diferentes comentarios mentales que serán únicos para ti pero diferentes del que fue robado. Así que eso puede ser realmente interesante. Aquí, esta es una demostración muy corta que hice en Netlify, porque como trabajo allí pude modificar el code yo mismo. Pero lo que realmente me interesaría ver es trabajar con autenticadores de plataforma reales. Así que realmente traté de agregar algo al Touch ID en mi Mac. Así que eso es una investigación muy preliminar en este momento.

7. Límites y Oportunidades del Control Cerebral

Short description:

Descubre los límites de las interfaces controladas por el cerebro, incluyendo la diferencia en la calidad de los datos entre sensores externos e implantes. Aprende sobre el impacto de los retrasos y las limitaciones de detectar pensamientos específicos. Comprende la necesidad de entrenamiento y la oportunidad para los desarrolladores de JavaScript de dar forma al futuro de las interfaces controladas por el cerebro.

Pero lo más importante, una aplicación puede ser cualquier cosa que estés pensando. Espero que al escuchar esta charla, puedas estar pensando en ideas de cosas que te gustaría construir usando un sensor cerebral. Es un campo que está creciendo con más y más dispositivos, avances en hardware y software. Y me encantaría ver a más personas venir con ideas para esta tecnología.

Recuerda que puedes usar JavaScript en muchos contextos diferentes, y eso es lo que es increíble de él. Y es una verdadera ventaja ser un desarrollador de JavaScript en este espacio. Construimos sitios web que funcionan en escritorio, portátil, iPad, teléfono. Puedes construir cosas de front end y back end. Puedes construir aplicaciones Electron. Puedes construir prototipos de AR y VR. Tienes frameworks para hacer music en JS. Puedes controlar robots. Quiero decir, es realmente súper emocionante. Y no es algo que los desarrolladores en el uso de un lenguaje diferente puedan hacer porque es posible que no tengan acceso a un ecosystem tan grande como el que tiene JavaScript.

Así que he hablado mucho sobre lo que es posible, pero hablemos brevemente antes de terminar sobre los límites de esta tecnología. Entonces, en primer lugar, es importante saber que la calidad de los data es diferente con sensores cerebrales externos que con los implantes. Los implantes tienen un acceso directo al cerebro ya que un dispositivo se coloca realmente en el cerebro, mientras que un sensor cerebral obtiene data que tiene que atravesar capas de piel y cráneo y cabello. Así que si encuentras una demostración construida por otra empresa que usa implantes, tienes que ser consciente de que la calidad de los data que obtendrás con un sensor cerebral externo es diferente y eso afectará lo que puedes hacer.

Otro límite es el hecho de que como los data son sin pérdida, y eso es genial, lo obtienes todo, pero trabajar con retrasos tendrá un impacto en el tipo de aplicaciones que puedes construir. Si estás construyendo cosas con enfoque o calma, supongo que no importa realmente si lo obtienes, si tu aplicación cambia el estado en un segundo, pero si estás construyendo aplicaciones que son realmente sensibles al tiempo, trabajar con marcas de tiempo podría ser una dificultad, pero es algo en lo que pensar. Cuando te adentras en algo así, tienes que recordar que en muchos aspectos, todavía no entendemos todo sobre el cerebro y realmente no podemos detectar cosas como, quiero desencadenar algo cuando estoy pensando en la playa. No funciona realmente así, por lo que el tipo de pensamientos que podemos detectar en este momento es más limitado. Así que es algo que tienes que tener en cuenta cuando te adentras en un espacio como este.

Y finalmente, como los comandos mentales necesitan entrenamiento, si construyes una interfaz, recuerda que el enfoque común es el mismo para todos los usuarios, por lo que no necesitas ningún entrenamiento, el usuario solo tendrá que llevar el sensor, pero si quieres algo un poco más personalizado, un poco más complejo, el hecho de que el usuario tendrá que hacer un entrenamiento antes de poder usar tu aplicación podría ser una limitación.

La mayor oportunidad que veo en esta industria en este momento es que como desarrolladores de JavaScript, podemos ayudar a dar forma al futuro de las interfaces controladas por el cerebro. Todavía está en sus primeras etapas, pero se está moviendo rápido y estamos en una posición donde podemos dar retroalimentación a diferentes empresas sobre lo que nos gustaría poder hacer con el sensor cerebral. Podemos ayudar a dar forma a cómo se vería la web si estuviera controlada por el cerebro y podemos contribuir a los diferentes paquetes de código abierto, etc. Para mí, realmente creo que es una gran oportunidad. Con esto, voy a parar aquí, pero espero haberte dado una mejor idea de lo que es posible cuando hablamos de control cerebral en la web. Y espero que estés tan emocionado como yo sobre las posibilidades que esta tecnología abre.

QnA

Preguntas y Respuestas y Movimiento Durante el Entrenamiento

Short description:

Gracias por escuchar. El aprendizaje automático surgió como el ganador en la batalla entre el aprendizaje automático, la realidad aumentada y la realidad virtual. Charlie discute la posibilidad de moverse mientras se entrena el modelo y comparte su preferencia por entrenar sin moverse. Menciona el proyecto de Neuralink que involucra a un mono jugando al pong mientras se registran los datos y expresa su interés en probarlo en el futuro.

Muchas gracias por escuchar y si tienes alguna pregunta, no dudes en preguntar en la sección de Preguntas y Respuestas o en Twitter, estoy en DevDevChannel.

Wow, qué sesión tan inspiradora. Muchas gracias, Charlie, por presentar esto en JS Nation. Y antes de saltar a la sección de Preguntas y Respuestas, veamos qué respondieron ustedes a la pregunta de Charlie sobre dónde les gustaría usar JavaScript como codificación creativa. Y el ganador es machine learning. De hecho, fue una batalla durante toda la duración de la sesión entre machine learning, realidad aumentada y realidad virtual. Y con una diferencia muy pequeña, ganó machine learning.

Ahora, invitemos a Charlie a nuestro estudio. Ella está aquí. Hola. Hola. Gracias por tu sesión. Y tenemos muchas preguntas para ti. Permíteme elegir algunas de ellas. Están en mi segunda pantalla. Así que comencemos con una muy técnica. Mencionaste que tienes que pensar en la acción sin moverte realmente. ¿Es porque el movimiento crea ruido en la señal? ¿Moverse al mismo tiempo interferiría con el entrenamiento del modelo? ¿Lo has probado? Oh, en realidad, puedes moverte si quieres. Pero es solo que en general, cuando quieras reproducir ese pensamiento probablemente no querrás moverte, entonces es más fácil intentar entrenar el modelo sin mover realmente tu cuerpo. Pero puedes hacer ambas cosas. Prefiero entrenar el modelo sin moverme porque sé que cuando quiero reproducir el pensamiento, quiero hacerlo sin moverme. Pero sé que si miras el proyecto que Neuralink ha estado haciendo últimamente con un mono que estaba jugando al pong, el mono se estaba moviendo al mismo tiempo que se registraban los data. Es algo que quiero probar a continuación. Pero creo que puedes hacer ambas cosas. No sé si crea particularmente ruido. No lo creo. Porque lo que el sensor cerebral está obteniendo son data sobre tu deseo de mover tu cuerpo. Así que no creo que realmente cree ruido. Pero tendría que probarlo. Definitivamente es algo que quiero hacer a continuación también.

Encuesta de Machine Learning y Aplicaciones Médicas

Short description:

Machine Learning ganó la encuesta, lo cual es emocionante ya que se alinea con mis intereses. JavaScript puede ser utilizado de manera creativa para Machine Learning. Existe interés en utilizar sensores cerebrales para fines médicos, como durante sesiones de consejería. Detectar estados de depresión potencial utilizando datos cerebrales puede proporcionar retroalimentación directa sobre el estado emocional de un usuario, ofreciendo un diagnóstico más temprano y perspectivas en tiempo real. Es un área de investigación interesante.

Genial. Por cierto, ¿te sorprenden los resultados de la encuesta que ganó Machine Learning? No me sorprende, pero me emociona. Porque Machine Learning es algo en lo que estoy investigando mucho. Y lo he estado durante los últimos años. Así que me emociona que otras personas también quieran hacerlo. Creo que hay mucho que aprender y proyectos realmente emocionantes para construir. Así que en realidad me emociona la respuesta de la encuesta.

Sí, apuesto a que después de tu masterclass, cada vez más personas usarán JavaScript de manera creativa para Machine Learning. Y nos quedan un par de minutos, tomemos esta pregunta. Y es una especie de conceptual. Apuesto a que el primer pensamiento de muchas personas es para los juegos. Pero, ¿qué tipo de interés has recibido en términos de usos médicos? ¿Qué tal para un psiquiatra y psicólogo para usar durante sus citas para obtener lecturas de las personas mientras sucede la sesión? Y esta pregunta fue porque muchas sesiones de consejería se trasladaron a línea. Por lo que podría ser un caso de uso muy interesante. ¿Cuáles son tus pensamientos al respecto?

Sí, creo que recuerdo haber leído algunos artículos sobre personas que intentan detectar estados de depresión potencial utilizando sensores cerebrales. De modo que en lugar de solo escuchar lo que las personas están diciendo, obtendríamos retroalimentación directa del estado de las personas. Si sabemos que la depresión se trata de un desequilibrio químico en el cerebro, podría haber cosas que realmente podemos detectar a partir de datos cerebrales crudos sobre el estado de un usuario. Y luego ser capaz de diagnosticar ciertas cosas más temprano o tener retroalimentación en tiempo real sobre el estado emocional de alguien. Porque a veces la forma en que nos expresamos, solo lo hacemos con las palabras que conocemos o la experiencia que hemos tenido en el pasado. Mientras que ahora podríamos hacerlo directamente con data del cerebro. Y creo que se está realizando investigación con esto en este momento, y creo que definitivamente es interesante también.

Genial, genial. Charlie, gracias por tu masterclass. Gracias por tus respuestas. Y fue un gran placer tenerte en la conferencia de GIS Nation. Muchas gracias. Adiós.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

ML conf EU 2020ML conf EU 2020
41 min
TensorFlow.js 101: ML in the Browser and Beyond
Discover how to embrace machine learning in JavaScript using TensorFlow.js in the browser and beyond in this speedy talk. Get inspired through a whole bunch of creative prototypes that push the boundaries of what is possible in the modern web browser (things have come a long way) and then take your own first steps with machine learning in minutes. By the end of the talk everyone will understand how to recognize an object of their choice which could then be used in any creative way you can imagine. Familiarity with JavaScript is assumed, but no background in machine learning is required. Come take your first steps with TensorFlow.js!
JSNation 2022JSNation 2022
21 min
Crafting the Impossible: X86 Virtualization in the Browser with WebAssembly
WebAssembly is a browser feature designed to bring predictable high performance to web applications, but its capabilities are often misunderstood.
This talk will explore how WebAssembly is different from JavaScript, from the point of view of both the developer and the browser engine, with a particular focus on the V8/Chrome implementation.
WebVM is our solution to efficiently run unmodified x86 binaries in the browser and showcases what can be done with WebAssembly today. A high level overview of the project components, including the JIT engine, the Linux emulation layer and the storage backend will be discussed, followed by live demos.
JSNation 2022JSNation 2022
22 min
Makepad - Leveraging Rust + Wasm + WebGL to Build Amazing Cross-platform Applications
Top Content
In this talk I will show Makepad, a new UI stack that uses Rust, Wasm, and WebGL. Unlike other UI stacks, which use a hybrid approach, all rendering in Makepad takes place on the GPU. This allows for highly polished and visually impressive applications that have not been possible on the web so far. Because Makepad uses Rust, applications run both natively and on the Web via wasm. Makepad applications can be very small, on the order of just a few hundred kilobytes for wasm, to a few megabytes with native. Our goal is to develop Makepad into the UI stack of choice for lightweight and performant cross-platform applications. We intend to ship with our own design application and IDE.
JSNation 2022JSNation 2022
22 min
How I've been Using JavaScript to Automate my House
Software Programming is naturally fun but making something physical, to interact with the world that you live in, is like magic. Is even funnier when you can reuse your knowledge and JavaScript to do it. This talk will present real use cases of automating a house using JavaScript, Instead of using C++ as usual, and Espruino as dev tools and Microcontrollers such as Arduino, ESP8266, RaspberryPI, and NodeRed to control lights, doors, lockers, and much more.
JSNation 2022JSNation 2022
26 min
Quantum Computing in JavaScript with Q.js
Anyone can learn quantum computing! Join Stewart Smith as he describes his open-source passion project, Q.js. What exactly is a quantum computer? What's it good for? And how does Quantum JavaScript fit in? While this talk is for anyone curious about quantum computing, it will resonate particularly with coders, high school algebra survivors, and music nerds.