Está en la página 1de 13

1.

-DEEP LEARNING,APRENDIZAJE PROFUNDO


Es un tema que cada vez adquiere mayor relevancia en el campo de la inteligencia
artificial (IA). Siendo una subcategoría del aprendizaje automático,aprendizaje
profundo trata del uso de redes neuronales para mejorar cosas talescomo el
reconocimiento de voz, la visión por ordenador y el procesamiento dellenguaje
natural. Rápidamente se está convirtiendo en uno de los campos más solicitados
en informática

RED NEURONAL

En tecnología de la información, una red neuronal es un sistema de programas y


estructuras de datos que se aproxima al funcionamiento del cerebro
humano. Una red neuronal suele implicar un gran número de procesadores
funcionando en paralelo, teniendo cada uno de ellos su propia pequeña esfera de
conocimiento y acceso a datos en su memoria local. Habitualmente, en un principio
una red neuronal se “adiestra” o se alimenta con grandes cantidades de datos y
reglas acerca de las relaciones
APRENDIZAJE PROFUNDO FRENTE A APRENDIZAJE
AUTOMÁTICO

Aprendizaje profundo vs. aprendizaje automático

Mencioné que el aprendizaje profundo es una forma de aprendizaje


automático. Me referiré al aprendizaje no profundo de la máquina como
aprendizaje clásico de la máquina, para ajustarse al uso común.

En general, los algoritmos clásicos de aprendizaje automático se ejecutan


mucho más rápido que los algoritmos de aprendizaje profundo; una o más
CPUs a menudo serán suficientes para entrenar un modelo clásico. Los
modelos de aprendizaje profundo a menudo necesitan aceleradores de
hardware como GPUs, TPUs o FPGAs para la formación, y también para su
despliegue a escala. Sin ellos, los modelos tardarían meses en entrenarse.

Para muchos problemas, algunos algoritmos clásicos de aprendizaje de


máquinas producirán un modelo «suficientemente bueno». Para otros
problemas, los algoritmos clásicos de aprendizaje automático no han
funcionado muy bien en el pasado.

Aplicaciones de aprendizaje profundo

Hay muchos ejemplos de problemas que actualmente requieren un


aprendizaje profundo para producir los mejores modelos. El procesamiento
del lenguaje natural (PNL, por sus siglas en inglés) es bueno.

No fue un proyecto fácil. A muchos investigadores de nivel doctoral les llevó


meses de trabajo en modelos y miles de semanas en la GPU para entrenar
a los modelos. También alentó a Google a crear un nuevo tipo de chip, una
unidad de procesamiento de tensores (TPU, por sus siglas en inglés), para
ejecutar redes neuronales a escala para Google Translate.

Otro buen ejemplo de la aplicación del aprendizaje profundo es la


clasificación de imágenes. Debido a que los organismos vivos procesan
imágenes con su corteza visual, muchos investigadores han tomado la
arquitectura de la corteza visual de mamíferos como modelo para redes
neuronales diseñadas para realizar el reconocimiento de imágenes. La
investigación biológica se remonta a la década de 1950.

El gran avance en el campo de la red neuronal para la visión fue LeNet-5 de


Yann LeCun en 1998, una red neuronal convolucional de siete niveles
(CNN) para el reconocimiento de dígitos manuscritos digitalizados en
imágenes de 32×32 píxeles. Para analizar imágenes de mayor resolución,
la red LeNet-5 necesitaría ser expandida a más neuronas y más capas.

Los mejores modelos de clasificación de imágenes en profundidad de hoy


en día pueden identificar diversos catálogos de objetos con resolución HD
en color. Además de las redes neuronales puras y profundas (DNNs), a
veces la gente utiliza modelos de visión híbrida, que combinan el
aprendizaje profundo con algoritmos clásicos de aprendizaje automático
que realizan subtareas específicas.

.La clasificación de imágenes se puede ampliar a la clasificación de video


extrayendo los fotogramas individuales de un video y clasificando cada
fotograma. Los objetos detectados en los clips de video se pueden seguir
de fotograma a fotograma.

Según Goodfellow, Bengio y Courville, que escriben en el 2016, el


aprendizaje profundo se ha utilizado con éxito para predecir cómo
interactuarán las moléculas con el fin de ayudar a las compañías
farmacéuticas a diseñar nuevos fármacos, a buscar partículas subatómicas
y a analizar automáticamente las imágenes de microscopios utilizadas para
construir un mapa tridimensional del cerebro humano.

Redes neuronales de aprendizaje profundo


Las ideas de las redes neuronales «artificiales» se remontan a la década de
1940. El concepto esencial es que una red de neuronas artificiales
construida a partir de conmutadores de umbral interconectados, puede
aprender a reconocer patrones de la misma manera que lo hacen el cerebro
y el sistema nervioso de un animal (incluyendo la retina).

Backpropagation:  El aprendizaje en redes neuronales profundas ocurre al


fortalecer la conexión entre dos neuronas cuando ambas están activas al
mismo tiempo durante el entrenamiento. En el software moderno de redes
neuronales, esto es más comúnmente una cuestión de aumentar los valores
de peso para las conexiones entre neuronas usando una regla
llamada backpropagation of error, backprop, o BP.

Neuronas:  ¿Cómo se modelan las neuronas? Cada uno tiene una función
de propagación que transforma las salidas de las neuronas conectadas, a
menudo con una suma ponderada. La salida de la función de propagación
pasa a una función de activación, que se activa cuando su entrada supera
un valor umbral.

Funciones de activación:  En las décadas de 1940 y 1950, las neuronas


artificiales utilizaron una función de activación escalonada y se
denominaron perceptrones. Las redes neurales modernas pueden decir que
están usando percepciones, pero en realidad tienen funciones de activación
suave, como la función logística o sigmoide, la tangente hiperbólica y la
Unidad Lineal Rectificada (ReLU, por sus siglas en inglés). ReLU es
generalmente la mejor opción para la convergencia rápida, aunque tiene un
problema de neuronas «muriendo» durante el entrenamiento, si el ritmo de
aprendizaje se establece demasiado alto.

La salida de la función de activación puede pasar a una función de salida


para dar forma adicional. A menudo, sin embargo, la función de salida es la
función de identidad, lo que significa que la salida de la función de
activación es pasada a las neuronas conectadas aguas abajo.

Topologías de redes neuronales:  Ahora que conocemos las neuronas,


necesitamos aprender sobre las topologías de la red neuronal común. En
una red de retroalimentación, las neuronas están organizadas en distintas
capas: una capa de entrada, cualquier número de capas de procesamiento
ocultas y una capa de salida, y las salidas de cada capa van solo a la
siguiente capa.

En una red de feed-forward con conexiones de acceso directo, algunas


conexiones pueden saltar sobre una o más capas intermedias. En las redes
neuronales recurrentes, las neuronas pueden influirse a sí mismas, ya sea
directa o indirectamente a través de la siguiente capa.
Entrenamiento: El aprendizaje supervisado de una red neuronal se realiza
como cualquier otra máquina de aprendizaje. Presenta la red con grupos de
datos de entrenamiento, compara la salida de la red con la salida deseada,
genera un vector de error y aplica correcciones a la red basadas en el
vector de error. Los lotes de datos de entrenamiento que se ejecutan
juntos antes de aplicar correcciones se denominan épocas.

Para aquellos interesados en los detalles, la retropropagación utiliza el


gradiente de la función de error (o costo) con respecto a los pesos y sesgos
del modelo para descubrir la dirección correcta para minimizar el error. Dos
cosas controlan la aplicación de las correcciones: el algoritmo de
optimización y la variable de velocidad de aprendizaje, que normalmente
necesita ser pequeña para garantizar la convergencia y evitar causar
neuronas ReLU muertas.

Optimizadores:  Los optimizadores de redes neuronales suelen utilizar


algún tipo de algoritmo de descenso de gradiente para impulsar la
retropropagación, a menudo con un mecanismo que ayuda a evitar
atascarse en los mínimos locales, como la optimización de minitrabajos
seleccionados al azar (Descenso de Gradiente Estocástico), y la aplicación
de correcciones de momento al gradiente. Algunos algoritmos de
optimización también adaptan las tasas de aprendizaje de los parámetros
del modelo, observando el historial de gradientes (AdaGrad, RMSProp y
Adam).

Al igual que con todo el aprendizaje de máquina, es necesario comprobar


las predicciones de la red neuronal con un conjunto de datos de validación
separado. Sin hacer eso se corre el riesgo de crear redes neuronales que
solo memorizan sus entradas, en lugar de aprender a ser predictores
generalizados.

DNNs de verdad: Una red neural profunda para un problema real puede


tener más de 10 capas ocultas. Su topología puede ser simple o bastante
compleja.

Cuantas más capas haya en la red, más características podrá reconocer.


Desafortunadamente, cuantas más capas haya en la red, más tiempo se
tardará en calcular y más difícil será de entrenar.

Algoritmos de aprendizaje profundo


Como mencioné anteriormente, la mayor parte del aprendizaje profundo se
realiza con redes neuronales profundas. Las redes neuronales
convolucionales (CNN) se utilizan a menudo para la visión artificial. Las
redes neuronales recurrentes (RNN) se utilizan a menudo para el
procesamiento de lenguaje natural y otras secuencias, al igual que las
redes de memoria a corto plazo (LSTM) y las redes neuronales basadas en
la atención. Los bosques aleatorios, también conocidos como bosques de
decisión aleatoria, que no son redes neuronales, son útiles para una serie
de problemas de clasificación y regresión.

Redes neurales de CNN: Las redes neuronales convolucionales suelen


utilizar capas convolucionales, pooling, ReLU, completamente conectadas y
de pérdida, para simular una corteza visual. La capa convolucional
básicamente toma las integrales de muchas pequeñas regiones
superpuestas. La capa de agrupación realiza una forma de remuestreo no
lineal. Las capas ReLU aplican la función de activación sin saturación f(x) =
max(0,x). En una capa completamente conectada, las neuronas tienen
conexiones con todas las activaciones de la capa anterior. Una capa de
pérdida calcula cómo el entrenamiento en red penaliza la desviación entre
las etiquetas predichas y las verdaderas, utilizando una función de pérdida
Softmax o cruzada para la clasificación, o una función de pérdida euclidiana
para la regresión.

RNN, LSTM y redes neuronales basadas en la atención:  En las redes


neuronales de retroalimentación, la información fluye desde la entrada, a
través de las capas ocultas, hasta la salida. Esto limita la red a tratar con
un solo estado a la vez.

En las redes neuronales recurrentes, la información circula a través de un


bucle, lo que permite que la red recuerde las salidas anteriores recientes.
Esto permite el análisis de secuencias y series temporales. Los RNNs tienen
dos problemas comunes: los gradientes de explosión (que se fijan
fácilmente sujetando los gradientes), y los gradientes de desaparición (que
no son tan fáciles de fijar).

En los LSTMs, la red es capaz de olvidar información previa o recordarla, en


ambos casos alterando los pesos. Esto le da a un LSTM una memoria a
largo y corto plazo, y resuelve el problema del gradiente de fuga. Los
LSTMs pueden tratar con secuencias de cientos de entradas pasadas.

Los módulos de atención son puertas generalizadas que aplican pesos a un


vector de entradas. Un codificador de atención neuronal jerárquico utiliza
múltiples capas de módulos de atención para tratar decenas de miles de
entradas pasadas.

Bosques al azar: Otro tipo de algoritmo de aprendizaje profundo, que no


es una red neuronal profunda, es el Random Forest, o Random Decision
Forest. Un bosque aleatorio se construye a partir de muchas capas; pero en
lugar de neuronas, se construye a partir de árboles de decisión, y produce
un promedio estadístico (modo de clasificación o media de regresión) de las
predicciones de los árboles individuales. Los aspectos aleatorios de Random
Forests son el uso de la agregación de bootstrap (también conocida como
empaquetamiento) para árboles individuales y la toma de subconjuntos
aleatorios de las características.

Marcos de aprendizaje profundo

Aunque se pueden escribir programas de aprendizaje profundo a partir de


principios básicos, es mucho más eficaz utilizar marcos de aprendizaje
profundo, especialmente si se tiene en cuenta que se han optimizado para
su uso con GPUs y otros aceleradores. El marco preeminente
es TensorFlow, que se originó en Google. La API de alto nivel preferida para
TensorFlow es Keras, que también se puede utilizar con
otros frameworks de back-end.

PyTorch, de Facebook y otros, es una fuerte alternativa a TensorFlow, y


tiene la distinción de soportar redes neuronales dinámicas, en las que la
topología de la red puede cambiar de época en época. Fastai es una API de
alto nivel de terceros que utiliza PyTorch como back-end.

MXNet, de Amazon y otros, es otra fuerte alternativa a TensorFlow, con la


pretensión de una mejor escalabilidad. Gluon es la API imperativa de alto
nivel preferida para MXNet.

Chainer, de IBM, Intel y otros, fue de alguna manera la inspiración para


PyTorch, dado que define la red neuronal por ejecución y soporta redes
neuronales dinámicas.

Mientras que todos los frameworks mencionados anteriormente son


principalmente Python, Deeplearning4j (DL4J), originalmente de Skymind y
ahora un proyecto Apache, es principalmente Java y Scala. DL4J es
compatible con Apache Spark y Hadoop.

ONNX se propuso originalmente como un ecosistema abierto para modelos


de IA intercambiables. ONNX ahora tiene un tiempo de ejecución además
del formato de archivo de intercambio.

TensorRT, de Nvidia, es otro tiempo de ejecución para los modelos de IA,


específicamente para aprovechar las GPUs de Nvidia. El tiempo de
ejecución ONNX puede utilizar TensorRT como plug-in.
Aprendizaje de transferencia profunda
El aprendizaje de transferencia es el proceso de adaptar un modelo
capacitado en un conjunto de datos, a otro conjunto de datos. El
aprendizaje de transferencia es mucho más rápido que los modelos de
formación desde cero, y requiere muchos menos datos para la formación.

Google Cloud AutoML implementa el aprendizaje de transferencia profunda


para la visión, la traducción y el lenguaje natural. Azure Machine Learning
Service ofrece servicios de aprendizaje de transferencia profunda similares
a los de visión personalizada, habla y traducción personalizada y búsqueda
personalizada.

Entrenamiento de aprendizaje profundo distribuido


Mientras que TensorFlow tiene su propia manera de coordinar la formación
distribuida con los servidores de parámetros, un enfoque más general
utiliza Open MPI (interfaz de paso de mensajes). Horovod, un marco de
entrenamiento distribuido para TensorFlow, Keras y PyTorch que fue creado
en Uber, utiliza Open MPI, así como Nvidia NCCL. Horovod alcanza una
eficiencia de escalado de entre el 68% y el 90%, dependiendo del modelo
que se esté entrenando.

El aprendizaje Profundo realmente no presenta el aspecto de un programa


informático”, afirma Gary Marcus psicólogo y experto en IA de la Universidad de
Nueva York. En este sentido, comenta que el código informático ordinario está
escrito siguiendo pasos lógicos muy estrictos. “Pero lo que cabe encontrar en el
aprendizaje profundo es algo distinto. No hay una serie de instrucciones indicando
que: “si una cosa es verdadera, haz esta otra cosa”, afirma. En lugar de estar basada
en la lógica lineal, el aprendizaje profundo se basa en teorías acerca cómo
funciona el cerebro humano. El programa está constituido por capas anidadas de
nodos interconectados. Después de cada nueva experiencia, aprende reacomodando
las conexiones entre los nodos.

El aprendizaje profundo ha demostrado que tiene potencial como base para crear
software capaz de determinar emociones o eventos descritos en un texto incluso sin
que sean citados explícitamente, reconocer objetos en fotografías y realizar
sofisticadas predicciones acerca del probable futuro comportamiento de las
personas.

EL FUTURO

El aprendizaje profundo promete muchos avances, haciendo que la construcción


de automóviles sin conductor y la creación de mayordomos robóticos constituyan
posibilidades reales. Aún están limitados, pero lo que pueden lograr resultaba
impensable hace solo algunos años. Y el ritmo al que avanzan no tiene precedentes.

La capacidad de analizar conjuntos de datos masivos y de utilizar el aprendizaje


profundo en sistemas informáticos que puedan adaptarse a la experiencia, en lugar
de depender de un programador humano, conducirá a avances tecnológicos de
calado. Abarcan desde descubrimientos de medicamentos o el desarrollo de nuevos
materiales hasta la creación de robots con un mayor nivel de
consciencia acerca del mundo que los rodea .

2.- El Internet de las cosas : IoT

Desde hace un tiempo, el término Internet de las cosas, Internet of


Things o simplemente IoT está muy presente en la actualidad, y no
son pocos los fabricantes que lanzan al mercado dispositivos
orientados a esto pero, ¿qué es realmente el Internet de las cosas
Con un 60% de la población mundial conectada a Internet, vivimos en la era de la
interconexión, y es raro ver personas que no tengan como mínimo un smartphone o
Internet en su hogar. Tanto es así, que se ha creado una tendencia llamada «el
Internet de las cosas» orientada precisamente a esto, y es precisamente de lo que
os vamos a hablar hoy en este artículo, ya que como es un concepto no tangible hay
personas que no comprenden qué es concretamente.

¿Qué es el Internet de las cosas (IoT)?


Cuando hablamos de internet lo que hacemos es hablar de la red de interconexión
entre los diferentes ordenadores en el mundo. Pues bien, el llamado Internet de las
cosas no es sino una red de interconexión digital entre dispositivos, personas y
la propia Internet que permite el intercambio de datos entre ellos, permitiendo que se
pueda capturar información clave sobre el uso y el rendimiento de los dispositivos y
los objetos para detectar patrones, hacer recomendaciones, mejorar la eficiencia y
crear mejores experiencias para los usuarios.

Así, el Internet de las cosas es algo así como un concepto intangible, es la conexión
por ejemplo entre tu smartphone y los dispositivos smart que tienes en casa para
controlar la iluminación o el aire acondicionado, es una Raspberry Pi que controla la
programación de tu televisor, o es un robot aspiradora que configuras desde tu
teléfono móvil para que te limpie la casa automáticamente cuando no estás.

El internet de las cosas nace por tanto desde el momento en que ya no solo los
ordenadores se encuentran en la red de redes, sino también los dispositivos que
acceden a la misma para obtener información a tiempo real que requieren para
poder dar de manera eficiente y precisa sus servici
¿Cómo influye el IoT y por qué se llama
así? ¿Cómo influye el IoT y por qué se
llama

En nuestra vida cotidiana podemos ver una enorme cantidad de objetos


conectados que forman parte del Internet de las cosas, y es que según el
Worldwide Global DataSphere IoT Devices and Data Forecast para el año 2025
tendremos en torno a 41.600 millones de dispositivos conectados. A
continuación vamos a poner algunos ejemplos para que puedas entender la
repercusión de esto:
 Vehículos autónomos: cada vez se habla más de los coches que conducen
solos sin que el usuario tenga que hacer nada más allá que decirle dónde
quiere ir. Lo que está claro es que los vehículos son cada vez más
inteligentes, con pantalla táctil y una enorme cantidad de sensores que
facilitan la vida al usuario.

 Robots aspiradora: cuentan con una gran cantidad de sensores que


permiten limpiar el suelo de la casa sin chocarse con nada y esquivando
obstáculos de manera independiente.

 Smart home: los dispositivos «smart» para los hogares incluyen desde
sensores de presencia que encienden luces automáticamente hasta sensores
de temperatura o humedad que activan otros aparatos. Incluso los asistentes
como Alexa son dispositivos IoT.

Donde el internet de las cosas cogerá todo su potencial será en la conducción


automática, donde los diferentes vehiculos en circulación estarán conectadas a la
red de tráfico a tiempo real para circular en cada momento y evitar así accidentes.
Por el momento la cosa esta muy verde, pero el mundo de la automoción inteligente
está creciendo a un nivel exponencial año tras año y no queda mucho para que
tengamos un entorno basado en el IoT, por el momento parece ciencia ficción, pero
no hablamos de coches voladores, sino de una tecnología totalmente viable.

Son tantas las «cosas» y aplicaciones que tiene este término que por ese motivo se
ha determinado «Internet de las cosas», pues como hemos dicho antes es una
especie de ente abstracto complicado de definir con exactitud dado que engloba
varios elementos al mismo tiempo. Se puede decir que el internet de las cosas pese
a su nombre no almacena datos y datos de conocimiento humano, sino que lo que
almacena es el comportamiento humano y la forma con la que interactuamos en el
día a día, algo que para muchos es algo que resulta incómodo y es que de repente
tenemos una gran cantidad de ojos y orejas escuchándonos para recopilar datos
sobre nosotros. Millones de máquinas aprendiendo nuestra rutinas para hacernos
nuestra vida más fácil, por suerte, no hemos sido capaces de crear una consciencia
propia que se puede volver en nuestra contra

También podría gustarte