Add mathematical foundations to AI chapter

This commit is contained in:
coolneng 2021-07-01 23:51:05 +02:00
parent 41c6409ebe
commit dfedb386ed
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
4 changed files with 97 additions and 4 deletions

View File

@ -95,11 +95,10 @@ Un agente es cualquier elemento capaz de percibir su entorno mediante sensores y
Los comienzos de la inteligencia artificial (1956-1969) se caracterizan por un entusiasmo y optimismo generalizado. Los rápidos avances en /hardware/, junto con el desarrollo de sistemas que redefinían las posibilidades de los ordenadores excedían las expectativas de los especialistas. cite:book:771224 La atmósfera frenética, durante este periodo, se puede recapitular a partir de de la propuesta de la conferencia de Dartmouth:
\vspace{0.5cm}
#+BEGIN_QUOTE
El estudio se basa en la conjetura de que cada aspecto del aprendizaje o cualquier otro rasgo de la inteligencia puede ser, en principio, precisamente descifrado. Se intentará encontrar un método para hacer que las máquinas utilicen el lenguaje, formen abstracciones y conceptos, resuelvan problemas que ahora están reservados a los humanos, y que se mejoren a sí mismas. cite:McCarthy_Minsky_Rochester_Shannon_2006
\vspace{0.5cm}
#+END_QUOTE
A finales de los años 1960, los investigadores se toparon con numerosos obstáculos al tratar de usar sus sistemas para resolver problemas más complejos. Debido a una carencia de resultados decisivos, la financiación en este ámbito académico fue cancelada. cite:book:771224
@ -134,9 +133,42 @@ Una red neuronal artificial (ANN) es una red de capas de neuronas artificiales.
Los principios básicos de las redes neuronales artificiales fueron formulados por primera vez en 1943, y el perceptrón, que históricamente es posiblemente la primera neurona artificial, se propuso en 1958. cite:book:2610592 Sin embargo, estos modelos no fueron populares hasta mediados de la década de 1980, cuando se reinventó el algoritmo de /back-propagation/. cite:book:771224
En la actualidad, los avances tanto en potencia de cálculo del /hardware/, especialmente en las tarjetas gráficas (GPU) cite:Cireşan2010, como la disponibilidad de grandes /datasets/ cite:book:771224 han dado lugar al /Deep Learning/.
*** Back propagation
El algoritmo de /back propagation/ (BP) permite establecer los pesos y, por tanto, entrenar los perceptrones multicapa. Esto abrió el camino para el uso de las redes neuronales multicapa. La disponibilidad de un método riguroso para fijar los pesos intermedios, \ie para entrenar las capas ocultas, impulsó el desarrollo de las ANN, superando las deficiencias de la capa única propuesta por Minsky. cite:book:2610592 Los autores de la publicación original que describió este algoritmo sintetizan su funcionamiento a alto nivel:
#+BEGIN_QUOTE
Este algoritmo ajusta iterativamente los pesos de cada conexión, con el objetivo de minimizar la función de pérdida (\ie obtener la menor diferencia entre la salida de la ANN y el valor esperado). Como resultado de ello, las capas ocultas llegan a representar características importantes del dominio del problema, y las regularidades de la tarea son captadas por las interacciones de estas unidades. La capacidad de crear nuevas características útiles distingue a la retropropagación de otros métodos anteriores más sencillos, como el procedimiento de convergencia del perceptrón. cite:Rumelhart1986
#+END_QUOTE
Asimismo el algoritmo de /back propagation/ es un enfoque para calcular los gradientes de forma algorítmica, que es especialmente eficaz para los modelos que emplean redes neuronales multicapa. cite:book:2530718 Procedemos a la exposición del algoritmo de optimización más usado con la /back propagation/, el /gradient descent/.
*** Gradient descent
El /gradient descent/ es una forma de minimizar una función objetivo parametrizada por los parámetros de un modelo (e.g. pesos de una neurona artificial) mediante la actualización de los parámetros en la dirección opuesta al gradiente de la función objetivo con respecto a los parámetros, \ie seguimos la dirección de la pendiente de la superficie creada por la función objetivo cuesta abajo hasta llegar a un mínimo local o global. cite:ruder2016overview
#+CAPTION: Diagrama del algoritmo de /gradient descent/. Comenzando en el punto inicial $w^0$ hacemos nuestra primera aproximación a $g(w)$ en el punto $(w^0,g(w^0))$ en la función (mostrada como un punto negro hueco) con la aproximación en serie de Taylor de primer orden dibujada en rojo. Moviéndonos en la dirección de descenso del gradiente negativo proporcionada por esta aproximación llegamos a un punto $w^1=w^0-\alpha\frac{d}{dw}g(w^0)$. A continuación, repetimos este proceso en $w^1$, moviéndonos en la dirección del gradiente negativo allí, y así sucesivamente. cite:book:2530718
#+ATTR_HTML: :height 25% :width 80%
#+NAME: fig:central-dogma
[[./assets/figures/gradient-descent.png]]
\clearpage
Esta secuencia de pasos se puede formular, de forma matemática:
\begin{equation}
w^{k} = w^{k-1} - \alpha\nabla g(w^{k-1})
\end{equation}
donde $\nabla g(w)$ es el gradiente negativo de una función $g(w)$ en un punto. cite:book:2530718
Este proceso, junto con sus variantes, es el algoritmo de optimización local más utilizado en /machine learning/ actualmente. Esto se debe en gran medida al hecho de que la dirección de descenso proporcionada a través del gradiente es más fácil de computar (particularmente cuando la dimensión del /input/ aumenta). cite:book:2530718
** Hacia el Deep Learning
En la actualidad, los avances tanto en potencia de cálculo del /hardware/, especialmente en las tarjetas gráficas (GPU) cite:Cireşan2010, como la disponibilidad de grandes /datasets/ cite:book:771224 han dado lugar al /Deep Learning/.
* Estado del arte
** Bioinformática
** Deep Learning

Binary file not shown.

View File

@ -662,3 +662,64 @@
doi = {10.1162/NECO_a_00052},
url = {https://doi.org/10.1162/NECO_a_00052}
}

@Article{Rumelhart1986,
author = {Rumelhart, David E. and Hinton, Geoffrey E. and Williams,
Ronald J.},
title = {Learning representations by back-propagating errors},
journal = {Nature},
year = 1986,
month = {Oct},
day = 01,
volume = 323,
number = 6088,
pages = {533-536},
abstract = {We describe a new learning procedure, back-propagation, for
networks of neurone-like units. The procedure repeatedly
adjusts the weights of the connections in the network so as to
minimize a measure of the difference between the actual output
vector of the net and the desired output vector. As a result
of the weight adjustments, internal `hidden' units which are
not part of the input or output come to represent important
features of the task domain, and the regularities in the task
are captured by the interactions of these units. The ability
to create useful new features distinguishes back-propagation
from earlier, simpler methods such as the
perceptron-convergence procedure1.},
issn = {1476-4687},
doi = {10.1038/323533a0},
url = {https://doi.org/10.1038/323533a0}
}
@book{book:2530718,
title = {Machine Learning Refined: Foundations, Algorithms, and
Applications},
author = {Jeremy Watt, Reza Borhani, Aggelos K. Katsaggelos},
publisher = {Cambridge University Press},
isbn = {1108480721,9781108480727},
year = 2020,
edition = 2
}
@article{ruder2016overview,
title = {An overview of gradient descent optimization algorithms},
author = {Ruder, Sebastian},
journal = {arXiv preprint arXiv:1609.04747},
year = 2016
}
@article{DBLP:journals/corr/WangRX17,
author = {Haohan Wang and Bhiksha Raj and Eric P. Xing},
title = {On the Origin of Deep Learning},
journal = {CoRR},
volume = {abs/1702.07800},
year = 2017,
url = {http://arxiv.org/abs/1702.07800},
archivePrefix = {arXiv},
eprint = {1702.07800},
timestamp = {Mon, 13 Aug 2018 16:46:19 +0200},
biburl = {https://dblp.org/rec/journals/corr/WangRX17.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB