Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisión Ambos lados, revisión siguiente | ||
ia:start [2017/12/13 08:48] Joaquín Herrero Pintado |
ia:start [2024/02/27 13:12] Joaquín Herrero Pintado [Espacio [IA] Inteligencia Artificial] |
||
---|---|---|---|
Línea 3: | Línea 3: | ||
{{indexmenu>:ia#1|tsort}} | {{indexmenu>:ia#1|tsort}} | ||
- | ====== Inteligencia Artificial ====== | ||
- | ===== Red neuronal (NN) ===== | + | |
+ | La IA es una ciencia que se ocupa del diseño de sistemas de computación capaces de mostrar características que asociamos a la inteligencia en el comportamiento humano: comprensión del lenguaje, razonamiento, aprendizaje y resolución de problemas, entre otros. | ||
+ | |||
+ | En 1956, John McCarthy acuñó la expresión «inteligencia artificial», y la definió como «la ciencia e ingenio de hacer máquinas inteligentes, especialmente programas de cómputo inteligentes».5 | ||
+ | |||
+ | Para Nils John Nilsson son cuatro los pilares básicos en los que se apoya la inteligencia artificial: | ||
+ | |||
+ | * Búsqueda del estado requerido en el conjunto de los estados producidos por las acciones posibles. | ||
+ | * Algoritmos genéticos (análogo al proceso de evolución de las cadenas de ADN). | ||
+ | * Redes neuronales artificiales (análogo al funcionamiento físico del cerebro de animales y humanos). | ||
+ | * Razonamiento mediante una lógica formal análogo al pensamiento abstracto humano. | ||
+ | |||
+ | También existen distintos tipos de percepciones y acciones, que pueden ser obtenidas y producidas, respectivamente, por sensores físicos y sensores mecánicos en máquinas, pulsos eléctricos u ópticos en computadoras, tanto como por entradas y salidas de bits de un software y su entorno software. | ||
+ | |||
+ | Varios ejemplos se encuentran en el área de control de sistemas, planificación automática, la habilidad de responder a diagnósticos y a consultas de los consumidores, reconocimiento de escritura, reconocimiento del habla y reconocimiento de patrones. Los sistemas de IA actualmente son parte de la rutina en campos como economía, medicina, ingeniería y la milicia, y se ha usado en gran variedad de aplicaciones de software, juegos de estrategia, como ajedrez de computador, y otros videojuegos. | ||
+ | |||
+ | [[{|width:10em}concepto-de-inteligencia|EL concepto de Inteligencia]] | ||
+ | [[{|width:10em}searle-habitacion-china|Alan Turing: El Test de Turing]] | ||
+ | [[{|width:10em}test-turing|John Searle: La habitación china]] | ||
+ | [[{|width:10em}narrativas-ia|Metáforas sobre la Inteligencia Artificial]] | ||
+ | [[{|width:10em}embodied-ai|¿Es necesario un cuerpo para una Inteligencia Artificial?]] | ||
+ | |||
+ | |||
+ | [[{|width:10em}ia-argumentacion|Argumentación e Inteligencia Artificial]] | ||
+ | [[{|width:10em}riesgos-ia|Riesgos de la Inteligencia Artificial]] | ||
+ | [[{|width:10em}usos-ia|La Inteligencia Artificial en la práctica]] | ||
+ | [[{|width:10em}ai2050-hard-problems|Los "problemas fuertes" de la IA]] | ||
+ | |||
+ | [[{|width:10em}etica-ia|Ética e Inteligencia Artificial]] | ||
+ | [[{|width:10em}politica-ia|Política e Inteligencia Artificial]] | ||
+ | [[{|width:10em}sociedad-ia|Sociedad e Inteligencia Artificial]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Algoritmos Evolutivos ===== | ||
+ | |||
+ | Los [[https://es.wikipedia.org/wiki/Algoritmo_evolutivo|algoritmos evolutivos]] constituyen un campo de investigación que incluye: | ||
+ | * [[https://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico|algoritmos genéticos]] | ||
+ | * [[https://es.wikipedia.org/wiki/Estrategia_evolutiva|estrategias evolutivas]] | ||
+ | * [[https://es.wikipedia.org/wiki/Programaci%C3%B3n_evolutiva|programación evolutiva]] | ||
+ | * [[https://es.wikipedia.org/wiki/Programaci%C3%B3n_gen%C3%A9tica|programación genética]] | ||
+ | [[https://arxiv.org/abs/1806.05695|Evolving simple programs for playing Atari games]] | ||
+ | |||
+ | http://www.aetsa.org/download/publicaciones/antiguas/AETSA_2009-6_Algoritmos_geneticos.pdf | ||
+ | |||
+ | |||
+ | ====== Red neuronal (NN) ====== | ||
A partir de la metodología se identifica el número de variables de entrada (neuronas de entrada) y las respuestas que se quieren obtener para las distintas combinaciones de las variables de entrada. | A partir de la metodología se identifica el número de variables de entrada (neuronas de entrada) y las respuestas que se quieren obtener para las distintas combinaciones de las variables de entrada. | ||
Línea 12: | Línea 62: | ||
{{nnviz.png?400|}} | {{nnviz.png?400|}} | ||
+ | |||
+ | ===== Topologías ===== | ||
+ | |||
+ | {{:ia:neuralnetworks.png?400|}} | ||
===== Función de activación ===== | ===== Función de activación ===== | ||
Línea 19: | Línea 73: | ||
--- https://es.wikipedia.org/wiki/Funci%C3%B3n_de_activaci%C3%B3n | --- https://es.wikipedia.org/wiki/Funci%C3%B3n_de_activaci%C3%B3n | ||
- | ==== Neurona sigmoidal ===== | + | ===== Neurona sigmoidal ===== |
[[https://www.google.es/search?client=firefox-b&dcr=0&ei=8nouWsuqDYyxUYDelNgO&q=1%2F%281%2Be**-z%29&oq=1%2F%281%2Be**-z%29&gs_l=psy-ab.3..0i30k1l4j0i5i30k1l2j0i8i30k1l4.5875.7137.0.7442.3.3.0.0.0.0.78.225.3.3.0....0...1c.1.64.psy-ab..0.3.223...0i8i7i30k1.0.JNslg0aRqmI|Gráfico de 1/(1+e^‑z)]] | [[https://www.google.es/search?client=firefox-b&dcr=0&ei=8nouWsuqDYyxUYDelNgO&q=1%2F%281%2Be**-z%29&oq=1%2F%281%2Be**-z%29&gs_l=psy-ab.3..0i30k1l4j0i5i30k1l2j0i8i30k1l4.5875.7137.0.7442.3.3.0.0.0.0.78.225.3.3.0....0...1c.1.64.psy-ab..0.3.223...0i8i7i30k1.0.JNslg0aRqmI|Gráfico de 1/(1+e^‑z)]] | ||
Línea 31: | Línea 85: | ||
Ejemplo en [[https://play.golang.org/p/vooYHLrwJS|Go Playground]] | Ejemplo en [[https://play.golang.org/p/vooYHLrwJS|Go Playground]] | ||
- | ==== Neurona lineal ==== | + | ===== Neurona lineal ===== |
Típica función de activación del [[https://en.wikipedia.org/wiki/Perceptron|Perceptrón]]. | Típica función de activación del [[https://en.wikipedia.org/wiki/Perceptron|Perceptrón]]. | ||
Línea 39: | Línea 93: | ||
Ejemplo en [[https://play.golang.org/p/vooYHLrwJS|Go Playground]] | Ejemplo en [[https://play.golang.org/p/vooYHLrwJS|Go Playground]] | ||
- | ===== Entrenamiento ===== | + | ===== Entrenamiento de una red neuronal ===== |
- | ==== SUPERVISADO ==== | + | |
+ | |||
+ | ==== Supervisado ==== | ||
Con vistas al **entrenamiento supervisado** de la red neural que desarrollamos hay que elaborar un conjunto de datos de entrenamiento procedentes de datos reales. | Con vistas al **entrenamiento supervisado** de la red neural que desarrollamos hay que elaborar un conjunto de datos de entrenamiento procedentes de datos reales. | ||
- | ==== NO SUPERVISADO ==== | + | [[https://stanford.edu/~shervine/teaching/cs-229/cheatsheet-supervised-learning.html|Supervised Learning cheatsheet]] |
+ | |||
+ | ==== No supervisado ==== | ||
Al ser un software conversacional hay que identificar qué interacciones suponen un refuerzo positivo y un refuerzo negativo a las respuestas proporcionadas por la NN. | Al ser un software conversacional hay que identificar qué interacciones suponen un refuerzo positivo y un refuerzo negativo a las respuestas proporcionadas por la NN. | ||
+ | |||
+ | [[https://stanford.edu/~shervine/teaching/cs-229/cheatsheet-unsupervised-learning.html|Unsupervised Learning cheatsheet]] | ||
+ | |||
+ | ===== Ejemplos ===== | ||
+ | |||
+ | http://cs.stanford.edu/people/karpathy/convnetjs/ | ||
+ | |||
+ | ConvNetJS is a Javascript library for training Deep Learning models (Neural Networks) entirely in your browser. Open a tab and you're training. No software requirements, no compilers, no installations, no GPUs, no sweat. | ||
===== Algoritmo de back-propagation ===== | ===== Algoritmo de back-propagation ===== | ||
Línea 53: | Línea 119: | ||
* https://www.youtube.com/watch?v=q555kfIFUCM | * https://www.youtube.com/watch?v=q555kfIFUCM | ||
- | ===== Recursos ===== | + | ====== Recursos ====== |
- | ==== Open Courseware. Prof. Patrick H. Winston ==== | + | ===== Open Courseware. Prof. Patrick H. Winston ===== |
This course introduces students to the basic knowledge representation, problem solving, and learning methods of artificial intelligence. Upon completion of 6.034, students should be able to develop intelligent systems by assembling solutions to concrete computational problems; understand the role of knowledge representation, problem solving, and learning in intelligent-system engineering; and appreciate the role of problem solving, vision, and language in understanding human intelligence from a computational perspective. | This course introduces students to the basic knowledge representation, problem solving, and learning methods of artificial intelligence. Upon completion of 6.034, students should be able to develop intelligent systems by assembling solutions to concrete computational problems; understand the role of knowledge representation, problem solving, and learning in intelligent-system engineering; and appreciate the role of problem solving, vision, and language in understanding human intelligence from a computational perspective. | ||
Línea 65: | Línea 131: | ||
- | ==== Argumentación en IA ==== | ||
- | Libro de Rahwan & Simari (eds) //Argumentation in Artificial Inteligence//, Springer2009 | ||
- | + | ===== Aspectos básicos de la IA ===== | |
- | ==== Aspectos básicos de la IA ==== | + | |
Libro de Mira, Delgado, Boticario y Díez, //Aspectos básicos de la Inteligencia Artificial//, UNED, ed Sanz y Torres, 1995, reimpresión 2003. | Libro de Mira, Delgado, Boticario y Díez, //Aspectos básicos de la Inteligencia Artificial//, UNED, ed Sanz y Torres, 1995, reimpresión 2003. | ||
- | ==== Programación ==== | + | ===== Programación ===== |
+ | |||
+ | ==== OpenBSD ==== | ||
En OpenBSD pueden cargarse los siguientes packages | En OpenBSD pueden cargarse los siguientes packages | ||
Línea 81: | Línea 146: | ||
^ fann-2.1 | Fast Artificial Neural Network Library | | ^ fann-2.1 | Fast Artificial Neural Network Library | | ||
^ p5-AI-FANN | interface to the Fast Artificial Neural Network library | | ^ p5-AI-FANN | interface to the Fast Artificial Neural Network library | | ||
+ | |||
+ | ==== source{d} ==== | ||
Existe una iniciativa para crear componentes de fuente abierta para aplicar la inteligencia artificial al desarrollo de software. El proyecto se llama [[https://sourced.tech/|source{d}]] y, en palabras del exingeniero de Google que se ha unido al proyecto: | Existe una iniciativa para crear componentes de fuente abierta para aplicar la inteligencia artificial al desarrollo de software. El proyecto se llama [[https://sourced.tech/|source{d}]] y, en palabras del exingeniero de Google que se ha unido al proyecto: | ||
- | <html> | + | "Machine Learning will revolutionize how we analyze programs. There’s a never-ending list of use cases that could benefit from ML over source code and (one day) source code generation from unit tests or even natural language specifications" \\ |
- | <blockquote class="twitter-tweet" data-cards="hidden" data-lang="es"><p lang="en" dir="ltr">"Machine Learning will revolutionize how we analyze programs. There’s a never-ending list of use cases that could benefit from ML over source code and (one day) source code generation from unit tests or even natural language specifications".<br> <a href="https://t.co/s1Gr3HFGSc">https://t.co/s1Gr3HFGSc</a> <a href="https://t.co/6gmsMAzIhi">pic.twitter.com/6gmsMAzIhi</a></p>— Joaquín Herrero (@joakinen) <a href="https://twitter.com/joakinen/status/940865722749804544?ref_src=twsrc%5Etfw">13 de diciembre de 2017</a></blockquote> | + | --- Joaquín Herrero (@joakinen) - https://twitter.com/joakinen/status/940865722749804544 |
- | <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> | + | |
- | <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> | + | ==== Neural Complete Framework ==== |
- | </html> | + | |
- | ===== Más información ===== | + | [[https://www.youtube.com/watch?v=YF20zzovlVA&list=PL5Ld68ole7j3iQFUSB3fR9122dHCUWXsy&index=6|youtube.com]], ML 2017 - Pascal van Kooten - Neural Complete |
+ | |||
+ | ====== Más información ====== | ||
* [[https://github.com/ActiveState/neuroblast|Github: neuroblast]] | * [[https://github.com/ActiveState/neuroblast|Github: neuroblast]] | ||
* [[http://gopherdata.io/post/build_ml_powered_game_ai_tensorflow/|ML Game using TensorFlow in Go]] | * [[http://gopherdata.io/post/build_ml_powered_game_ai_tensorflow/|ML Game using TensorFlow in Go]] | ||
- | * [[https://www.luis.ai/welcome|LUIS]] | + | * [[https://www.luis.ai/welcome|LUIS - Language Understanding]] |
* [[http://vivaldi.ll.iac.es/proyecto/coffeebreak/?p=1253|Ep138: Especial Inteligencia Artificial: Redes Neuronales; La Singularidad; Posthumanismo]], señalyruido.com | * [[http://vivaldi.ll.iac.es/proyecto/coffeebreak/?p=1253|Ep138: Especial Inteligencia Artificial: Redes Neuronales; La Singularidad; Posthumanismo]], señalyruido.com | ||
+ | * [[http://www.asimovinstitute.org/neural-network-zoo/|The Neural Network Zoo]] | ||
+ | * [[https://www.youtube.com/playlist?list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC|CS231n Winter 2016, Convolutional Neural Networks]] | ||
+ | * Lecture 1. Introduction and Historical Context | ||
+ | * Lecture 2. Data-driven approach, kNN, Linear Classification | ||
+ | * Lecture 3. Linear Classification 2, Optimization | ||
+ | * Lecture 4. Backpropagation, Neural Networks 1 | ||
+ | * Lecture 5. Neural Networks Part 2 | ||
+ | * Lecture 6. Neural Networks Part 3 / Intro to ConvNets | ||
+ | * Lecture 7. Convolutional Neural Networks | ||
+ | * Lecture 8. Localization and Detection | ||
+ | * Lecture 9. Visualization, Deep Dream, Neural Style, Adversarial Examples | ||
+ | * Lecture 10. Recurrent Neural Networks, Image Captioning, LSTM | ||
+ | * Lecture 11. ConvNets in practice | ||
+ | * Lecture 12. Deep Learning libraries | ||
+ | * Lecture 13. Segmentation, soft attention, spatial transformers | ||
+ | * Lecture 14. Videos and Unsupervised Learning |