Pregunta

Parece que a los requisitos de seguridad no parece gustarles los sistemas que usan AI para los requisitos relacionados con la seguridad (especialmente cuando hay grandes riesgos potenciales de destrucción / muerte). ¿Alguien puede sugerir por qué ? Siempre pensé que, siempre que programes tu lógica correctamente, cuanta más inteligencia pongas en un algoritmo, es más probable que este algoritmo sea capaz de prevenir una situación peligrosa. ¿Son diferentes las cosas en la práctica?

¿Fue útil?

Solución

La mayoría de los algoritmos de AI son difusos , que normalmente se aprenden a medida que avanzan. Para los artículos que son de importancia crítica para la seguridad, lo que usted quiere es determinista. Es más fácil demostrar que estos algoritmos son correctos, lo cual es esencial para muchas aplicaciones críticas para la seguridad.

Otros consejos

Creo que la razón es doble.

Primero, es posible que la IA tome decisiones impredecibles. Por supuesto, pueden ser beneficiosos, pero cuando se habla de cuestiones de seguridad, no puede correr riesgos como esos, especialmente si la vida de las personas está en peligro.

El segundo es que el " razonamiento " las decisiones detrás de las decisiones no siempre se pueden rastrear (a veces se utiliza un elemento aleatorio para generar resultados con una IA) y cuando algo sale mal, no se puede determinar " por qué " (de una manera muy precisa) se convierte en una responsabilidad.

Al final, todo se reduce a la responsabilidad y confiabilidad.

Cuanto más complejo es un sistema, más difícil es probar. Y cuanto más crucial es un sistema, más importante se vuelve tener pruebas exhaustivas al 100%.

Por lo tanto, para sistemas cruciales, las personas prefieren tener características subóptimas, que pueden probarse, y dependen de la interacción humana para la toma de decisiones complejas.

Desde un punto de vista de seguridad, a menudo nos preocupamos por la previsibilidad / determinismo garantizado del comportamiento y el rápido tiempo de respuesta. Si bien es posible realizar una o ambas técnicas de programación al estilo de la IA, a medida que la lógica de control de un sistema se vuelve más compleja, es más difícil proporcionar argumentos convincentes sobre cómo se comportará el sistema (lo suficientemente convincente para satisfacer al auditor).

Supongo que los sistemas de inteligencia artificial generalmente se consideran más complejos. La complejidad suele ser algo malo, especialmente cuando se relaciona con " magia " que es como algunas personas perciben los sistemas de inteligencia artificial.

Eso no quiere decir que la alternativa sea necesariamente más simple (o mejor).

Cuando hemos realizado la codificación de los sistemas de control, hemos tenido que mostrar las tablas de seguimiento para cada ruta de código única y la permutación de las entradas. Esto fue necesario para asegurarnos de que no pusimos el equipo en un estado peligroso (para empleados o infraestructura), y para " probar " que los programas hicieron lo que debían hacer.

Sería terriblemente difícil de hacer si el programa fuera confuso y no determinista, como lo indicó @tvanfosson. Creo que deberías aceptar esa respuesta.

La declaración clave es " siempre que programes tu lógica correctamente " ;. Bueno, cómo proporciona " proporciona " ¿ese? La experiencia demuestra que la mayoría de los programas están llenos de errores.

La única forma de garantizar que no haya errores sería la verificación formal, pero eso es prácticamente inviable para todos, excepto para los sistemas más primitivamente simples, y (lo que es peor) generalmente se realiza en base a especificaciones en lugar de código, por lo que todavía no lo hace. El conocimiento del código implementa correctamente su especificación después de haber comprobado que la especificación es impecable.

Creo que es porque la IA es muy difícil de entender y eso es imposible de mantener.

Incluso si un programa de inteligencia artificial se considera difuso, o que " aprende " en el momento en que se lanza, está muy bien probado para todos los casos conocidos (y ya aprendió de él) antes de que finalice. La mayoría de los casos este " aprendizaje " cambiará algunos " umbrales " o pesos en el programa y después de eso, es muy difícil entender y mantener ese código, incluso para los creadores.

Esto ha estado cambiando en los últimos 30 años al crear lenguajes más fáciles de entender para los matemáticos, facilitarles la prueba y ofrecer un nuevo pseudocódigo para solucionar el problema (como mat lab AI toolbox)

Hay suficientes formas en que los algoritmos ordinarios, cuando se diseñan y prueban de mala gana, pueden terminar matando personas. Si no lo has leído, debes buscar el caso de Therac 25 . Este era un sistema en el que se suponía que el comportamiento era completamente determinista, y las cosas seguían yendo horriblemente, horriblemente mal. Imagínese si estuviera tratando de razonar "de forma inteligente", también.

Como no hay una definición aceptada de IA, la pregunta será más específica.

Mi respuesta es sobre algoritmos adaptativos que simplemente emplean la estimación de parámetros, un tipo de aprendizaje, para mejorar la seguridad de la información de salida. Incluso esto no es bienvenido en seguridad funcional, aunque puede parecer que el comportamiento de un algoritmo propuesto no solo es determinista (todos los programas de computadora son) sino que también es fácil de determinar.

Esté preparado para que el asesor le pida que demuestre los informes de prueba que cubren todas las combinaciones de datos de entrada y modos de falla. El hecho de que su algoritmo sea adaptable significa que depende no solo de los valores de entrada actuales, sino de muchos o todos los valores anteriores. Usted sabe que una cobertura de prueba completa es imposible dentro de la edad del universo.

Una forma de calificar es mostrar que los algoritmos más simples previamente aceptados (estado de la técnica) no son seguros. Esto será fácil si conoce el espacio de su problema (de lo contrario, manténgase alejado de la IA).

Puede existir otra posibilidad para su problema: una función de monitoreo convincente que indica si el parámetro se estima con precisión.

" Algoritmos ordinarios " Para un problema complejo, el espacio tiende a ser arkward. Por otro lado, algunos " inteligentes " Los algoritmos tienen una estructura simple. Esto es especialmente cierto para aplicaciones de inferencia bayesiana. Solo debe conocer la (s) función (es) de probabilidad para sus datos (el plural se aplica si los datos se separan en subconjuntos estadísticamente independientes).

Las funciones de probabilidad pueden ser probadas. Si la prueba no puede cubrir las colas lo suficiente como para alcanzar el nivel de confianza requerido, solo agregue más datos, por ejemplo, desde otro sensor. La estructura de su algoritmo no cambiará.

Un inconveniente es / fue el rendimiento de la CPU requerido para la inferencia bayesiana.

Además, mencionar Therac 25 no es útil, ya que no hubo ningún algoritmo involucrado, solo un código de espagueti multitarea. Al citar a los autores, "los accidentes fueron bastante únicos en cuanto a errores de codificación del software, la mayoría de los accidentes informáticos no implican errores de codificación, sino errores en los requisitos del software, como omisiones y condiciones ambientales mal manejadas y estados del sistema". ;

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top