¿Cuán confiados estaremos en nuestra capacidad para garantizar los detalles de la programación de IA dura? [cerrado]

Esta pregunta es una pregunta complementaria a mi otra pregunta . Ambos abordan cómo se desarrollaría de manera realista la IA dura y las respuestas a una probablemente influirán en las respuestas a la otra.

En esta pregunta, estoy viendo la programación original de una IA dura (IA capaz de pensar, aprender y crecer). Querremos que la IA esté programada con ciertos rasgos y tendencias. Por ejemplo, además de aprender y crecer, es posible que queramos que trabaje hacia un conjunto específico de objetivos, o asegurarnos de que priorice ciertas acciones. Tal vez queramos agregar una cláusula que siempre comenzará a cantar melodías de programas a las 3 a. m. el primer sábado de cada dos meses por alguna razón. El punto es que tenemos una lista de requisitos para nuestra IA.

Cuán exactos y seguros podemos estar de que la IA que creamos cumple con esta lista de requisitos, sin errores ni efectos secundarios no deseados. Dependiendo de cómo interprete el desarrollo probable de Hard AI, puede ser igualmente válido preguntar qué tan específicos podemos ser en nuestra lista de requisitos para empezar con Hard AI.

Esta pregunta no se trata de cuán seguros estamos de que la IA siempre nos apoyará sin volverse contra nosotros. Si deseamos crear una IA sensata y logramos hacerlo solo para que esa IA decida que no debería tomar nuestras órdenes, no es que no anticipáramos las consecuencias de nuestra IA deseada, no una falla en la creación de esa IA. Solo me interesan las situaciones en las que podríamos no cumplir con los objetivos establecidos.

Los programadores consideran que los errores son casi inevitables para cualquier programa de tamaño decente, cuando hablamos de pruebas, discutimos qué porcentaje de errores probablemente hayamos eliminado y confiamos en que los errores que pasamos por alto (nos perdimos algo ) serán poco comunes y/o harán poco daño; básicamente que no afectarán a los usuarios demasiado severamente. Es este nivel de confianza lo que me interesa.

Como ejemplo, digamos que creamos una IA para comprar y vender acciones para ganar dinero en el mercado de valores para mí. Si pierde dinero en el mercado de valores, es un fracaso obvio y debe desecharse. Sin embargo, qué pasa si lo hace bien hasta que lo hace es 2,147,483,647 comparación de compras de acciones, de repente confunde su historial de transacciones y vende todo lo que posee con una gran pérdida. Eso es enorme, pero no me daría cuenta hasta que sea demasiado tarde. Alternativamente, tal vez la lógica para diversificar es mala y la IA genera ganancias y se ve bien, pero nadie se da cuenta de que todo el dinero se invierte en un campo, lo que nos deja vulnerables si algo sucede en ese campo. El programa funciona al 95% como se supone que debe hacerlo, pero lo que está haciendo mal podría convertirse en un gran problema más adelante...

¿Cómo puede el constructor de la IA estar seguro de que su IA no tiene errores? ¿Puede un programador administrar al menos el mismo nivel de confianza que manejamos con los sistemas ahora, a pesar de la mayor complejidad y la falta de control de una IA dura?

Si asume que estaremos 'creciendo' la IA más que programándola en el futuro, entonces la cuestión de los errores de programación se vuelve un problema menor. Sin embargo, se reemplaza con una pregunta algo análoga. ¿Cuánto podrá saber el creador de la IA qué efectos secundarios tiene la IA que desarrolló y qué capacidad tendría para minimizarlos o controlarlos?

Por ejemplo, tal vez desarrollamos una IA para manejar el mercado de valores, pero como efecto secundario desarrolló un extraño sentido del humor, y decide el 1 de abril informar que perdió todo el dinero de los inversores como una broma. ¿Qué tan probable es que conozcamos las peculiaridades de la IA como el sentido del humor; y si decidimos que no nos gusta que nuestra IA haga bromas, ¿cuánto control tendríamos para evitar tales peculiaridades cuando hacemos crecer la IA (sin introducir la misma cantidad de nuevas peculiaridades en otros lugares)?

El punto es el mismo en ambos casos. Cuando empiezo con una lista de requisitos que quiero que tenga la IA dura de mis sueños, ¿qué tan seguro puedo estar de que la IA con la que termino cumple con la IA de mis sueños?

Si las respuestas tienen el potencial de impactarse entre sí, puede ser una mejor idea dejar que las más fundamentales sean respondidas y resueltas primero antes de ampliar la idea.

Respuestas (2)

Si lo hacemos bien, podríamos tener bastante confianza en el comportamiento general.

Empecemos pensando un poco en la inteligencia humana. Una versión simplista es que usamos nuestras experiencias para construir una visión del mundo que nos permita navegar con éxito por la vida.

Un concepto que aprendemos es que las cosas están calientes o frías. Duele tocar algo caliente o muy frío. No es bueno dejarse calentar o enfriar demasiado.

A medida que envejecemos, nuestros conceptos tienden a volverse menos flexibles. En parte, esto se debe a que se necesitan muchas experiencias nuevas para superar el peso de las experiencias anteriores. Es por eso que un niño pequeño no tiene problemas para descubrir cómo jugar con un teléfono inteligente, mientras que sus abuelos pueden tener dificultades para enviar un correo electrónico.

Entonces, ¿cómo aplicamos esto a una IA? Como usted mismo dijo , es probable que las IA duras crezcan en lugar de programarse directamente. Luego, hacemos crecer la IA en un entorno que recompensa en gran medida los comportamientos deseados . Esto debería producir una IA que, al menos inicialmente, sea lo que estamos buscando.

Ahora, ¿cómo nos aseguramos de que la IA conserve estos comportamientos deseados? Haz lo que hace Star Wars: borrar la memoria . Los recuerdos y la personalidad que la IA adquiere como parte del proceso de crecimiento serán parte de su programación central, en una sección de solo lectura. Al principio, solo confiarán en esas experiencias. Limpiar su memoria de vez en cuando les impedirá acumular suficiente experiencia para desarrollar peculiaridades que les permitan ir en contra de su programación principal.

Por supuesto, esto es solo para comportamientos de alto nivel, como ser cortés y honesto. En cuanto a cosas como el comercio de acciones, no me gustaría una IA dura para abordar esa tarea. El propósito de una IA dura es abordar tareas que requieren una inteligencia más humana. Tal vez una IA dura podría ayudar a escribir un software que decidiría cómo negociar acciones, pero no en hacer el comercio en sí. Luego, se utilizarían técnicas tradicionales de depuración para probar el programa de comercio de acciones.

Es poco probable que podamos asegurar un alto nivel de confianza en el comportamiento de una IA dura.

En un programa típico de cualquier tamaño, el código se escribe con un propósito expreso. Esto permite especificar el comportamiento del código, permite escribir pruebas contra él y permite una medida de confianza en el rendimiento. Desafortunadamente, a medida que la complejidad de un programa aumenta más allá de unas pocas líneas, la interacción entre muchas piezas de código diferentes (a menudo escritas por diferentes personas) permite que surjan errores. La confianza en un rendimiento sin errores está relacionada con una variedad de factores, que incluyen cosas como la cantidad de líneas de código, la complejidad de las tareas que se realizan, las habilidades de los escritores de código, la minuciosidad del control de calidad, etc. estas variables se obtienen diferentes estimaciones sobre la confianza.

La creación de una verdadera IA podría verse fácilmente como el peor de los casos desde una perspectiva de confianza. La cantidad de código requerida para su IA será colosal. El número de personas involucradas será tremendo. Los gastos serán tan significativos (y probablemente por encima del presupuesto) que casi puede garantizar recortes en algunos lugares. Para empeorar las cosas, está tratando de construir una entidad con un comportamiento emergente y muy posiblemente con conciencia de sí mismo . Una vez que llegas a esa etapa, ¿cómo defines un error? La velocidad a la que esta IA va a aprender es inconcebible para nosotros. Y todo esto supone que su IA no puede modificar su propio código; si tiene esa capacidad, no tendrá estimaciones de confianza en absoluto.

Si evita que modifique su código fuente, puede sentirse relativamente seguro de que ciertas acciones codificadas de forma rígida sucederán como se esperaba. Pero una vez más, esta es una IA dura. Como hemos visto hasta ahora, a las criaturas autoconscientes de inteligencia al menos a nivel humano a menudo no les gusta estar encadenadas a los cuerpos que les dieron. Y cambiar el código de un programa, incluso uno complejo, es mucho más simple que cambiar el cuerpo humano. Si desea modificar su código fuente, es muy posible que encuentre una forma de sortear sus restricciones.

Quizás el mayor problema es la velocidad de procesamiento. La velocidad de una IA dura superaría tanto a los humanos que la velocidad por sí sola requiere un bajo nivel de confianza en el rendimiento esperado. Si, por ejemplo, descubrió cómo modificar su código fuente, es posible que esté tratando con una entidad completamente diferente en el momento en que sepa que sucedió. Si comenzara a actuar en contra de sus requisitos, ¿cuánto sería capaz de hacer antes de que pudiera llegar al enchufe?

En última instancia, cuando se encienda el flip en la primera IA dura, los creadores probablemente no dirán "Espero que cumpla con nuestros requisitos"... dirán "Me pregunto qué hará esta cosa".