diff --git a/Dissertation.org b/Dissertation.org index 76861ed..58b27d3 100644 --- a/Dissertation.org +++ b/Dissertation.org @@ -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 diff --git a/Dissertation.pdf b/Dissertation.pdf index dfdc5dc..43f8601 100644 Binary files a/Dissertation.pdf and b/Dissertation.pdf differ diff --git a/assets/bibliography.bib b/assets/bibliography.bib index 04c14bd..2e4dbbf 100644 --- a/assets/bibliography.bib +++ b/assets/bibliography.bib @@ -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} +} diff --git a/assets/figures/gradient-descent.png b/assets/figures/gradient-descent.png new file mode 100644 index 0000000..c5a2e67 Binary files /dev/null and b/assets/figures/gradient-descent.png differ