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 | ||
ia:start [2017/12/22 10:35] Joaquín Herrero Pintado |
ia:start [2024/02/27 13:14] (actual) Joaquín Herrero Pintado [Espacio [IA] Inteligencia Artificial] |
||
---|---|---|---|
Línea 3: | Línea 3: | ||
{{indexmenu>:ia#1|tsort}} | {{indexmenu>:ia#1|tsort}} | ||
- | ====== Teorías ====== | ||
- | Existen dos paradigmas teóricos sobre las redes neuronales | + | |
- | - [[https://en.wikipedia.org/wiki/Deep_learning#Deep_neural_networks|redes neuronales profundas]] (deep neural networks, DNNs) con muchas capas y millones de conexiones y que son entrenadas mediante el proceso denominado [[https://en.wikipedia.org/wiki/Stochastic_gradient_descent|Stochastic Gradient Descent (SDG)]] | + | 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. |
- | - [[https://es.wikipedia.org/wiki/Algoritmo_evolutivo|algoritmos evolutivos]], que es 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]] y [[https://es.wikipedia.org/wiki/Programaci%C3%B3n_gen%C3%A9tica|programación genética]] | + | |
+ | 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 que una IA tenga cuerpo?]] | ||
+ | |||
+ | |||
+ | [[{|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) ====== | ====== Red neuronal (NN) ====== | ||
Línea 17: | Línea 63: | ||
{{nnviz.png?400|}} | {{nnviz.png?400|}} | ||
- | ====== Topologías ===== | + | ===== Topologías ===== |
{{:ia:neuralnetworks.png?400|}} | {{:ia:neuralnetworks.png?400|}} | ||
- | ====== Función de activación ====== | + | ===== Función de activación ===== |
En redes computacionales, la Función de Activación de un nodo define la salida de un nodo dada una entrada o un conjunto de entradas. Se podría decir que un circuito estándar de computador se comporta como una red digital de funciones de activación al activarse como "ON" (1) u "OFF" (0), dependiendo de la entrada. Esto es similar al funcionamiento de un [[https://es.wikipedia.org/wiki/Perceptr%C3%B3n|Perceptrón]] en una [[https://es.wikipedia.org/wiki/Red_neuronal_artificial|Red neuronal artificial]]. | En redes computacionales, la Función de Activación de un nodo define la salida de un nodo dada una entrada o un conjunto de entradas. Se podría decir que un circuito estándar de computador se comporta como una red digital de funciones de activación al activarse como "ON" (1) u "OFF" (0), dependiendo de la entrada. Esto es similar al funcionamiento de un [[https://es.wikipedia.org/wiki/Perceptr%C3%B3n|Perceptrón]] en una [[https://es.wikipedia.org/wiki/Red_neuronal_artificial|Red neuronal artificial]]. | ||
Línea 27: | 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 47: | Línea 93: | ||
Ejemplo en [[https://play.golang.org/p/vooYHLrwJS|Go Playground]] | Ejemplo en [[https://play.golang.org/p/vooYHLrwJS|Go Playground]] | ||
- | ====== Entrenamiento de una red neuronal ====== | + | ===== 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. | ||
- | ====== Algoritmo de back-propagation ====== | + | [[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 ===== | ||
* https://www.youtube.com/watch?v=q555kfIFUCM | * https://www.youtube.com/watch?v=q555kfIFUCM | ||
Línea 75: | Línea 131: | ||
- | ===== Argumentación en IA ===== | ||
- | |||
- | Libro de Rahwan & Simari (eds) //Argumentation in Artificial Inteligence//, Springer2009 | ||
Línea 98: | Línea 151: | ||
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> | + | |
- | </html> | + | |
==== Neural Complete Framework ==== | ==== Neural Complete Framework ==== | ||
Línea 113: | Línea 162: | ||
* [[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]] | * [[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 |