Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERÍA EN COMPUTACIÓN
ALUMNO:
CONTRERAS VIDAL EMMANUEL
PROFESORA:
TOSCANO MEDINA LINDA KARINA
GRUPO:
8CM41
REDES NEURONALES
RESUMEN UNIDAD 1
2023
INTELIGENCIA ARTIFICIAL
La inteligencia artificial (IA) se refiere a la capacidad de las máquinas o sistemas
informáticos para realizar tareas que, si fueran realizadas por seres humanos,
requerirían de inteligencia. En otras palabras, la IA se centra en el desarrollo de
algoritmos, software y sistemas que permiten a las máquinas aprender, razonar,
tomar decisiones y realizar acciones de manera autónoma o semiautónoma, todo ello
con el objetivo de imitar la inteligencia humana o incluso superarla en algunas áreas.
La inteligencia artificial abarca una amplia gama de técnicas y enfoques, incluyendo
el aprendizaje automático (machine learning), el procesamiento de lenguaje natural
(NLP), la visión por computadora, la robótica y muchos otros campos. Estas
tecnologías se utilizan en una variedad de aplicaciones, como asistentes virtuales,
sistemas de recomendación, diagnóstico médico, conducción autónoma, y mucho
más.
Las redes neuronales son un componente fundamental de la inteligencia artificial y se
inspiran en el funcionamiento del cerebro humano. Estas son estructuras de
procesamiento de información que constan de capas de nodos interconectados,
llamados neuronas artificiales.
Una red neuronal artificial, es un modelo matemático y computacional que se inspira
en el funcionamiento del cerebro humano para procesar información. Se compone de
un conjunto de unidades interconectadas llamadas "neuronas artificiales" que trabajan
en conjunto para resolver problemas y aprender patrones a partir de datos.
Auto organización
La autoorganización en redes neuronales se refiere a la capacidad de una red para
aprender y representar patrones o características inherentes en los datos de entrada
de manera automática, sin necesidad de una supervisión externa o etiquetas
explícitas. Esto se logra mediante el ajuste de los pesos y conexiones entre las
neuronas de la red en función de las estadísticas y estructuras presentes en los
datos.
Uno de los conceptos más conocidos relacionados con la autoorganización en redes
neuronales es el "Mapa Autoorganizado" o "SOM" (Self-Organizing Map, por sus
siglas en inglés), que fue propuesto por Teuvo Kohonen. En un SOM, las neuronas se
organizan en una estructura bidimensional (o en ocasiones tridimensional) que
representa un mapa de características. Durante el entrenamiento, el SOM ajusta sus
pesos para asignar cada entrada de datos a una ubicación específica en el mapa en
función de la similitud entre la entrada y los pesos de las neuronas. Esto crea una
representación topológica de los datos en el mapa, lo que significa que las
ubicaciones cercanas en el mapa representan datos similares.
La autoorganización es particularmente útil en aplicaciones de análisis de datos y
visualización, ya que puede ayudar a identificar patrones ocultos en grandes
conjuntos de datos. Algunas aplicaciones comunes de las redes autoorganizadas
incluyen la reducción de dimensionalidad, la agrupación de datos, la visualización de
datos multidimensionales y la detección de anomalías.
Tolerancia a fallos
La tolerancia a fallos en las redes neuronales se refiere a la capacidad de una red
neuronal o sistema basado en redes neuronales para mantener su funcionamiento
adecuado a pesar de la presencia de fallos o errores en los componentes del sistema.
Esta capacidad es especialmente importante en aplicaciones críticas donde la
fiabilidad y la seguridad son fundamentales.
Redundancia: Una estrategia común para mejorar la tolerancia a fallos es la
redundancia, que implica tener múltiples copias de componentes críticos de la red
neuronal. Si uno de los componentes falla, otro puede tomar su lugar para mantener
el funcionamiento del sistema.
Detección de Fallos: Implementar mecanismos de detección de fallos es esencial.
Esto implica monitorear constantemente el estado de la red neuronal y sus
componentes para identificar cualquier anomalía o fallo. Las técnicas de detección de
fallos pueden incluir la comparación de resultados entre componentes redundantes o
el seguimiento de métricas de rendimiento clave.
Recuperación: Una vez que se detecta un fallo, es importante tener procedimientos
de recuperación para tomar medidas correctivas. Esto puede incluir la activación de
componentes redundantes, el ajuste de parámetros, la recalibración de la red o
incluso la interrupción segura de la operación si es necesario.
Tolerancia a Errores en Datos de Entrada: Además de los fallos internos, las redes
neuronales también deben ser tolerantes a errores o ruido en los datos de entrada.
Esto implica implementar técnicas de preprocesamiento de datos y algoritmos
resistentes para minimizar el impacto de datos inexactos o ruidosos.
Pruebas Rigurosas: Las redes neuronales y sistemas basados en ellas deben
someterse a pruebas rigurosas y validación para garantizar su comportamiento
adecuado bajo diversas condiciones, incluyendo escenarios de fallos simulados.
Diversidad en Arquitecturas: En algunos casos, se pueden utilizar arquitecturas de
red neuronal diversas o múltiples modelos para aumentar la tolerancia a fallos. Si un
modelo falla en una situación particular, otro modelo puede tomar el control.
Documentación y Políticas de Seguridad: Es fundamental contar con documentación
clara y políticas de seguridad que especifiquen cómo se deben manejar los fallos,
quién es responsable de la recuperación y cuáles son los procedimientos de
contingencia en caso de fallos críticos.
Operación en tiempo real
La operación en tiempo real de las redes neuronales se refiere a la capacidad de una
red neuronal para procesar datos y generar respuestas o resultados de manera
inmediata y dentro de un intervalo de tiempo definido. Esto es esencial en
aplicaciones donde las respuestas deben ser instantáneas o en tiempo real, como la
conducción autónoma, el procesamiento de voz, la detección de fraudes, el control de
procesos industriales y muchos otros casos de uso.
Latencia: En aplicaciones en tiempo real, la latencia, es decir, el tiempo que
transcurre entre la entrada de datos y la obtención de una respuesta, debe ser lo más
baja posible y estar dentro de límites predefinidos. Reducir la latencia es esencial
para garantizar que las decisiones o acciones basadas en las salidas de la red
neuronal se produzcan en tiempo real.
Optimización de Hardware: Utilizar hardware especializado, como unidades de
procesamiento de gráficos (GPU) o unidades de procesamiento de tensor (TPU),
puede acelerar significativamente la operación en tiempo real de las redes
neuronales. Estos dispositivos están diseñados para realizar cálculos matriciales de
manera eficiente, lo que es fundamental para el procesamiento de datos en paralelo
utilizado en redes neuronales.
Diseño de Modelo Eficiente: El diseño de la arquitectura de la red neuronal y la
elección de algoritmos pueden influir en la eficiencia del modelo. Utilizar modelos más
pequeños y livianos o técnicas de cuantización (reducción de precisión) pueden
ayudar a reducir la carga computacional y acelerar la inferencia en tiempo real.
Inferencia en el Borde (Edge): Llevar a cabo la inferencia (procesamiento de datos de
entrada para obtener resultados) en dispositivos locales o en el borde (edge) en lugar
de en servidores remotos puede reducir la latencia y mejorar la operación en tiempo
real. Esto es especialmente importante en dispositivos IoT y aplicaciones embebidas.
Preprocesamiento Rápido: El preprocesamiento de datos debe ser rápido y eficiente,
ya que a menudo es una parte esencial de la inferencia en tiempo real. La
preparación de datos debe realizarse de manera que minimice la latencia y permita
una inferencia rápida.
Optimización de Código: El código que implementa la red neuronal debe estar
optimizado para aprovechar al máximo los recursos de hardware y minimizar los
cuellos de botella de rendimiento.
FUNCIÓN DE TRANSFERENCIA
La función de transferencia, también conocida como función de activación, es una
parte fundamental de una neurona artificial en una red neuronal. Esta función
determina cómo una neurona combina sus entradas ponderadas y decide si debe
activarse o no. La función de transferencia introduce no linealidad en el modelo, lo
que permite que la red neuronal aprenda y represente patrones complejos en los
datos de entrada.
Función Sigmoide (Sigmoid): La función sigmoide es una función logística que
mapea cualquier número real a un valor en el rango de 0 a 1. Su fórmula es:
1
f(x) =
1 + 𝑒 −x
Esta función se utiliza comúnmente en capas de salida para problemas de
clasificación binaria, donde la neurona puede interpretarse como la probabilidad de
pertenencia a una clase.
Rectified Linear Unit (ReLU): La función ReLU es una función de activación no lineal
que retorna el valor de entrada si es positivo y cero en caso contrario. Su fórmula es:
f(x) = max(0, x)
ReLU es muy popular en redes neuronales profundas debido a su simplicidad y
eficacia. Sin embargo, puede presentar problemas con gradientes explosivos durante
el entrenamiento.
CLASIFICACIÓN DE LAS REDES NEURONALES ARTIFICIALES
Fijas
Las "redes neuronales fijas" no son un término comúnmente utilizado en el campo de
la inteligencia artificial o las redes neuronales artificiales. En general, las redes
neuronales, independientemente de su arquitectura específica, se caracterizan por su
capacidad para aprender y adaptarse a partir de los datos de entrada, lo que implica
que sus conexiones y pesos se ajustan durante el proceso de entrenamiento.
(Hopfield, LAM, BAM, HAMMING)
Adaptables
Las "redes neuronales adaptables" se refieren a redes neuronales artificiales (RNAs)
que tienen la capacidad de cambiar y ajustarse en función de los datos y las
experiencias que se les presentan. Esta adaptabilidad es una característica
fundamental de las RNAs y es esencial para su capacidad de aprendizaje automático
y resolución de problemas complejos.
Aprendizaje Supervisado y No Supervisado: Las RNAs pueden aprender de
manera supervisada, donde se les proporciona un conjunto de datos de
entrenamiento con ejemplos de entrada y salidas deseadas, o de manera no
supervisada, donde la RNA busca patrones o estructuras en los datos sin
etiquetas de salida explícitas. Esta adaptabilidad les permite abordar una
amplia variedad de problemas.
Binarias
Las "redes neuronales binarias" son una variante de las redes neuronales artificiales
(RNAs) en la que se utilizan únicamente dos valores distintos en las neuronas y
conexiones en lugar de valores continuos. En este contexto, estos dos valores son
típicamente 0 y 1, lo que hace que las RNAs binarias sean discretas en lugar de
continuas.
Analógicas
Las redes neuronales analógicas son una variante de las redes neuronales artificiales
(RNAs) que utilizan componentes y señales analógicas en lugar de componentes y
señales digitales. A diferencia de las RNAs digitales, que trabajan con valores
discretos como 0 y 1, las RNAs analógicas utilizan valores continuos en un rango
específico, lo que les permite realizar cálculos y procesamiento de información de
manera análoga a las neuronas biológicas.