<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://marovi.ai/index.php?action=history&amp;feed=atom&amp;title=Backpropagation%2Fes</id>
	<title>Backpropagation/es - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://marovi.ai/index.php?action=history&amp;feed=atom&amp;title=Backpropagation%2Fes"/>
	<link rel="alternate" type="text/html" href="https://marovi.ai/index.php?title=Backpropagation/es&amp;action=history"/>
	<updated>2026-04-24T13:01:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://marovi.ai/index.php?title=Backpropagation/es&amp;diff=2148&amp;oldid=prev</id>
		<title>DeployBot: [deploy-bot] Deploy from CI (8c92aeb)</title>
		<link rel="alternate" type="text/html" href="https://marovi.ai/index.php?title=Backpropagation/es&amp;diff=2148&amp;oldid=prev"/>
		<updated>2026-04-24T07:09:00Z</updated>

		<summary type="html">&lt;p&gt;[deploy-bot] Deploy from CI (8c92aeb)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:09, 24 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l103&quot;&gt;Line 103:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 103:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Deep Learning]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Deep Learning]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Intermediate]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Intermediate]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!--v1.2.0 cache-bust--&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!-- pass 2 --&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff::1.12:old-2087:rev-2148 --&gt;
&lt;/table&gt;</summary>
		<author><name>DeployBot</name></author>
	</entry>
	<entry>
		<id>https://marovi.ai/index.php?title=Backpropagation/es&amp;diff=2087&amp;oldid=prev</id>
		<title>DeployBot: Pass 2 force re-parse</title>
		<link rel="alternate" type="text/html" href="https://marovi.ai/index.php?title=Backpropagation/es&amp;diff=2087&amp;oldid=prev"/>
		<updated>2026-04-24T07:00:20Z</updated>

		<summary type="html">&lt;p&gt;Pass 2 force re-parse&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:00, 24 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l104&quot;&gt;Line 104:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 104:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Intermediate]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Intermediate]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!--v1.2.0 cache-bust--&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!--v1.2.0 cache-bust--&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!-- pass 2 --&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff::1.12:old-2050:rev-2087 --&gt;
&lt;/table&gt;</summary>
		<author><name>DeployBot</name></author>
	</entry>
	<entry>
		<id>https://marovi.ai/index.php?title=Backpropagation/es&amp;diff=2050&amp;oldid=prev</id>
		<title>DeployBot: Force re-parse after Math source-mode rollout (v1.2.0)</title>
		<link rel="alternate" type="text/html" href="https://marovi.ai/index.php?title=Backpropagation/es&amp;diff=2050&amp;oldid=prev"/>
		<updated>2026-04-24T06:57:44Z</updated>

		<summary type="html">&lt;p&gt;Force re-parse after Math source-mode rollout (v1.2.0)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:57, 24 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l103&quot;&gt;Line 103:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 103:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Deep Learning]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Deep Learning]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Intermediate]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Intermediate]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!--v1.2.0 cache-bust--&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff::1.12:old-1997:rev-2050 --&gt;
&lt;/table&gt;</summary>
		<author><name>DeployBot</name></author>
	</entry>
	<entry>
		<id>https://marovi.ai/index.php?title=Backpropagation/es&amp;diff=1997&amp;oldid=prev</id>
		<title>DeployBot: [deploy-bot] Deploy from CI (775ba6e)</title>
		<link rel="alternate" type="text/html" href="https://marovi.ai/index.php?title=Backpropagation/es&amp;diff=1997&amp;oldid=prev"/>
		<updated>2026-04-24T04:01:46Z</updated>

		<summary type="html">&lt;p&gt;[deploy-bot] Deploy from CI (775ba6e)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{LanguageBar | page = Backpropagation}}&lt;br /&gt;
{{ArticleInfobox | topic_area = Deep Learning | difficulty = Intermediate | prerequisites = [[Gradient Descent]], [[Neural Networks]]}}&lt;br /&gt;
{{ContentMeta | generated_by = claude-opus | model_used = claude-opus-4-6 | generated_date = 2026-03-13}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Backpropagation&amp;#039;&amp;#039;&amp;#039; (abreviatura de &amp;#039;&amp;#039;&amp;#039;propagacion hacia atras de errores&amp;#039;&amp;#039;&amp;#039;) es un algoritmo para calcular de manera eficiente el gradiente de una funcion de perdida con respecto a cada peso en una red neuronal. Combinado con un metodo de optimizacion como el [[Gradient Descent|descenso de gradiente]], constituye el procedimiento estandar de entrenamiento para los modelos modernos de aprendizaje profundo.&lt;br /&gt;
&lt;br /&gt;
== La regla de la cadena ==&lt;br /&gt;
&lt;br /&gt;
Backpropagation es fundamentalmente una aplicacion de la &amp;#039;&amp;#039;&amp;#039;regla de la cadena&amp;#039;&amp;#039;&amp;#039; del calculo. Si una variable &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; depende de &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;, que a su vez depende de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, entonces:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\frac{\partial z}{\partial x} = \frac{\partial z}{\partial y} \cdot \frac{\partial y}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En una red neuronal, la perdida &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; depende de la salida, que depende de las activaciones de la ultima capa oculta, que dependen de las activaciones de la capa anterior, y asi sucesivamente hasta la entrada. La regla de la cadena permite descomponer el gradiente en un producto de derivadas locales, una para cada capa.&lt;br /&gt;
&lt;br /&gt;
== Pasada hacia adelante ==&lt;br /&gt;
&lt;br /&gt;
Durante la pasada hacia adelante, los datos de entrada se propagan a traves de la red capa por capa. Para una capa completamente conectada &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathbf{z}^{(l)} = \mathbf{W}^{(l)} \mathbf{a}^{(l-1)} + \mathbf{b}^{(l)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathbf{a}^{(l)} = g^{(l)}(\mathbf{z}^{(l)})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\mathbf{a}^{(l-1)}&amp;lt;/math&amp;gt; es la activacion de la capa anterior (con &amp;lt;math&amp;gt;\mathbf{a}^{(0)} = \mathbf{x}&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt;\mathbf{W}^{(l)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\mathbf{b}^{(l)}&amp;lt;/math&amp;gt; son los pesos y sesgos, y &amp;lt;math&amp;gt;g^{(l)}&amp;lt;/math&amp;gt; es la funcion de activacion. La pasada hacia adelante almacena todos los valores intermedios &amp;lt;math&amp;gt;\mathbf{z}^{(l)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\mathbf{a}^{(l)}&amp;lt;/math&amp;gt; porque se necesitan durante la pasada hacia atras.&lt;br /&gt;
&lt;br /&gt;
== Pasada hacia atras ==&lt;br /&gt;
&lt;br /&gt;
La pasada hacia atras calcula los gradientes comenzando desde la perdida y avanzando hacia la entrada. Se define la senal de error en la capa &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt; como:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\boldsymbol{\delta}^{(l)} = \frac{\partial L}{\partial \mathbf{z}^{(l)}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para la capa de salida (capa &amp;lt;math&amp;gt;L_{\text{out}}&amp;lt;/math&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\boldsymbol{\delta}^{(L_{\text{out}})} = \frac{\partial L}{\partial \mathbf{a}^{(L_{\text{out}})}} \odot g&amp;#039;^{(L_{\text{out}})}(\mathbf{z}^{(L_{\text{out}})})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para cada capa anterior, el error se propaga hacia atras:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\boldsymbol{\delta}^{(l)} = \bigl(\mathbf{W}^{(l+1)}\bigr)^\top \boldsymbol{\delta}^{(l+1)} \odot g&amp;#039;^{(l)}(\mathbf{z}^{(l)})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\odot&amp;lt;/math&amp;gt; denota la multiplicacion elemento a elemento. Una vez conocida la senal de error, los gradientes de los parametros son:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\frac{\partial L}{\partial \mathbf{W}^{(l)}} = \boldsymbol{\delta}^{(l)} \bigl(\mathbf{a}^{(l-1)}\bigr)^\top, \qquad \frac{\partial L}{\partial \mathbf{b}^{(l)}} = \boldsymbol{\delta}^{(l)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grafos computacionales ==&lt;br /&gt;
&lt;br /&gt;
Los frameworks modernos de aprendizaje profundo (PyTorch, TensorFlow, JAX) implementan backpropagation construyendo un &amp;#039;&amp;#039;&amp;#039;grafo computacional&amp;#039;&amp;#039;&amp;#039; — un grafo dirigido aciclico donde cada nodo representa una operacion y cada arista transporta un tensor. La pasada hacia adelante construye el grafo; la pasada hacia atras lo recorre en orden topologico inverso, aplicando la regla de la cadena en cada nodo.&lt;br /&gt;
&lt;br /&gt;
Esta abstraccion permite diferenciar composiciones arbitrarias de operaciones, no solo tipos de capas estandar. Existen dos estrategias de implementacion:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Grafos estaticos&amp;#039;&amp;#039;&amp;#039; — el grafo se define una vez antes de la ejecucion (TensorFlow en sus versiones iniciales). Permite optimizaciones agresivas del compilador pero es menos flexible.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Grafos dinamicos&amp;#039;&amp;#039;&amp;#039; — el grafo se reconstruye en cada pasada hacia adelante (PyTorch, modo Eager de TensorFlow). Mas intuitivo para la depuracion y para modelos con flujo de control dependiente de los datos.&lt;br /&gt;
&lt;br /&gt;
== Diferenciacion automatica ==&lt;br /&gt;
&lt;br /&gt;
Backpropagation es un caso especial de la &amp;#039;&amp;#039;&amp;#039;diferenciacion automatica en modo inverso&amp;#039;&amp;#039;&amp;#039; (AD). A diferencia de la diferenciacion numerica (que es aproximada) o la diferenciacion simbolica (que puede producir expresiones inmanejables), la AD calcula derivadas exactas aplicando sistematicamente la regla de la cadena a las operaciones elementales.&lt;br /&gt;
&lt;br /&gt;
La AD en modo inverso calcula el gradiente de una salida escalar con respecto a todas las entradas en una unica pasada hacia atras, lo que la hace ideal para las redes neuronales, donde la perdida es escalar pero los parametros se cuentan por millones.&lt;br /&gt;
&lt;br /&gt;
El coste de la pasada hacia atras es tipicamente entre 2 y 3 veces el de la pasada hacia adelante, ya que debe evaluar los jacobianos locales y multiplicarlos con la senal de error entrante.&lt;br /&gt;
&lt;br /&gt;
== Gradientes que se desvanecen y explotan ==&lt;br /&gt;
&lt;br /&gt;
Cuando una red tiene muchas capas, el gradiente es un producto de muchas derivadas locales. Si estos factores son consistentemente menores que 1, el gradiente se reduce exponencialmente hacia cero — el problema del &amp;#039;&amp;#039;&amp;#039;gradiente que se desvanece&amp;#039;&amp;#039;&amp;#039;. Si son consistentemente mayores que 1, el gradiente crece exponencialmente — el problema del &amp;#039;&amp;#039;&amp;#039;gradiente que explota&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problema !! Sintoma !! Mitigaciones comunes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Gradientes que se desvanecen&amp;#039;&amp;#039;&amp;#039; || Las capas iniciales aprenden extremadamente lento || Activaciones ReLU, conexiones residuales, batch normalization, inicializacion cuidadosa&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Gradientes que explotan&amp;#039;&amp;#039;&amp;#039; || La perdida diverge o produce valores NaN || Recorte de gradientes, regularizacion de pesos, tasa de aprendizaje mas baja&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Estos problemas fueron obstaculos importantes para el entrenamiento de redes profundas antes de la introduccion de las activaciones ReLU, las conexiones residuales (ResNets) y las tecnicas de normalizacion.&lt;br /&gt;
&lt;br /&gt;
== Consideraciones practicas ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Memoria&amp;#039;&amp;#039;&amp;#039; — la pasada hacia adelante debe almacenar todas las activaciones intermedias para la pasada hacia atras. Para redes muy profundas esto puede ser prohibitivo; el &amp;#039;&amp;#039;&amp;#039;gradient checkpointing&amp;#039;&amp;#039;&amp;#039; intercambia calculo por memoria al recalcular las activaciones durante la pasada hacia atras en lugar de almacenarlas.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Estabilidad numerica&amp;#039;&amp;#039;&amp;#039; — el uso de trucos como log-sum-exp e implementaciones fusionadas de softmax-cross-entropy evita el desbordamiento por exceso y por defecto.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Gradientes de orden superior&amp;#039;&amp;#039;&amp;#039; — diferenciar a traves de la propia pasada hacia atras produce informacion de segundo orden (productos hessiana-vector), util para metodos como el descenso de gradiente natural y el meta-aprendizaje.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Precision mixta&amp;#039;&amp;#039;&amp;#039; — realizar la pasada hacia adelante en media precision mientras se mantiene una copia maestra de los pesos en precision completa acelera el entrenamiento en GPUs modernas.&lt;br /&gt;
&lt;br /&gt;
== Desarrollo historico ==&lt;br /&gt;
&lt;br /&gt;
Las ideas clave detras de backpropagation fueron desarrolladas de forma independiente por varios investigadores. Seppo Linnainmaa describio la diferenciacion automatica en modo inverso en 1970. Paul Werbos la aplico a las redes neuronales en su tesis doctoral de 1974. El algoritmo alcanzo una adopcion generalizada tras el influyente articulo de 1986 de Rumelhart, Hinton y Williams, que demostro su eficacia en redes multicapa.&lt;br /&gt;
&lt;br /&gt;
== Vease tambien ==&lt;br /&gt;
&lt;br /&gt;
* [[Gradient Descent]]&lt;br /&gt;
* [[Stochastic Gradient Descent]]&lt;br /&gt;
* [[Neural Networks]]&lt;br /&gt;
* [[Loss Functions]]&lt;br /&gt;
* [[Convolutional Neural Networks]]&lt;br /&gt;
* [[Recurrent Neural Networks]]&lt;br /&gt;
&lt;br /&gt;
== Referencias ==&lt;br /&gt;
&lt;br /&gt;
* Rumelhart, D. E., Hinton, G. E. and Williams, R. J. (1986). &amp;quot;Learning representations by back-propagating errors&amp;quot;. &amp;#039;&amp;#039;Nature&amp;#039;&amp;#039;, 323, 533–536.&lt;br /&gt;
* Linnainmaa, S. (1970). &amp;quot;The representation of the cumulative rounding error of an algorithm as a Taylor expansion of the local rounding errors&amp;quot;. Master&amp;#039;s thesis, University of Helsinki.&lt;br /&gt;
* Werbos, P. J. (1974). &amp;quot;Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences&amp;quot;. PhD thesis, Harvard University.&lt;br /&gt;
* Baydin, A. G. et al. (2018). &amp;quot;Automatic Differentiation in Machine Learning: a Survey&amp;quot;. &amp;#039;&amp;#039;JMLR&amp;#039;&amp;#039;, 18(153), 1–43.&lt;br /&gt;
* Goodfellow, I., Bengio, Y. and Courville, A. (2016). &amp;#039;&amp;#039;Deep Learning&amp;#039;&amp;#039;, Chapter 6. MIT Press.&lt;br /&gt;
&lt;br /&gt;
[[Category:Deep Learning]]&lt;br /&gt;
[[Category:Intermediate]]&lt;/div&gt;</summary>
		<author><name>DeployBot</name></author>
	</entry>
</feed>