¿Existe un mejor tutorial para el aprendizaje profundo que deeplearning.net?

La clasificación general de documentos largos es un desafío aún no resuelto. No encontrará ningún tutorial titulado “crear un rastreador inteligente con Deep Learning”.

Los métodos establecidos por otros tienen la oportunidad de trabajar en oraciones o tweets, pero no en páginas enteras vistas.

[despotricar]
Por ejemplo, doc2vec es famoso pero nunca lo encontré útil en la vida real. Los impresionantes resultados del artículo original nunca han sido reproducidos ni siquiera por Mikolov, que es coautor (hubo un reddit al respecto). Captura algunas propiedades del texto, pero es demasiado ruidoso para ser útil.
[/despotricar]

Pero doc2vec sigue siendo mejor que promediar word2vec en una oración. Si lo hace, al menos considere usar TF-IDF para ponderar los vectores.

Los métodos de aprendizaje profundo que parecen más prometedores es la CNN (redes neuronales convolucionales). Es mucho más eficiente que LSTM y aún extrae características interesantes. Además, son más resistentes a la variación de longitud de entrada.
Pero dependiendo de la cantidad de paginación que desea rastrear, puede estar limitado por la potencia de cálculo requerida para usar una CNN.

Si desea clasificar las páginas web, supongo que extraerá características de alto nivel en su página web, como una lista de palabras clave y las verá en su artículo y capacitará a un clasificador en la bolsa resultante de vectores de palabras.

Realmente habría podido recomendarle un algoritmo de aprendizaje profundo realmente genial para estas tareas, pero no creo que estemos allí todavía.

Dicho esto, depende de la precisión que necesites. Si desea distinguir los artículos de deportes y finanzas, puede probar doc2vec. Si quieres distinguir los artículos de baloncesto y fútbol, ​​no funcionará tan bien.

Si todavía está leyendo, le recomendaré otra forma de extraer características de alto orden de una página web: la compañía para la que estoy trabajando, Proxem, creó un algoritmo que extrae las categorías de Wikipedia relacionadas con un texto dado. Esas categorías son buenas candidatas para entrenar a un clasificador. El algoritmo no es Deep Learning por ahora, tal vez lo sea en el futuro. Ponemos una API en Mashape donde puedes probarla gratis y probar si es lo suficientemente precisa en el dominio al que estás apuntando. Puede probar la API aquí: https://market.mashape.com/proxe…

Nota: necesitará una cuenta completa de Mashape para probarlo, incluso si es freemium.

A continuación hay algunos tutoriales notables para el aprendizaje profundo.

https://cs.stanford.edu/~quocle/

https://cs.stanford.edu/~quocle/tutorial2.pdf

Conferencias de Quoc Le sobre aprendizaje profundo

http://www.cs.toronto.edu/~hinto

Tutorial de aprendizaje de características y aprendizaje profundo sin supervisión

Junto con esto, vale la pena tomar el curso de aprendizaje profundo de Andrew Ng en Coursera.

Aprendizaje profundo | Coursera

Para implementar un programa de muestra en H2O

https: //h2o-release.s3.amazonaws


Para trabajos más avanzados, consulte

Página de inicio de Geoffrey Hinton

Dado que su dominio de interés son los artículos de blog (que con frecuencia son bastante largos), creo que el aprendizaje profundo no es completamente necesario. Primero intente con un modelo simple de bolsa de palabras usando word2vec o vectores de palabras GloVe. Brevemente, la idea aquí es que estos modelos mapeen palabras inglesas comúnmente vistas a un vector en un espacio de alta dimensión. Una manera simple de usar estos vectores sería promediar los vectores de palabras para todas las palabras en una publicación de blog, y luego entrenar un SVM simple o un clasificador de regresión logística sobre él. (Supongo que sabe acerca de estos clasificadores. Si no, puede consultar el paquete scikit-learn en Python para conocer estas técnicas y también obtener bibliotecas simples para aplicar esto a su problema).

Ahora, puede notar que artículos como “a”, “el” etc. pueden ser una palabra muy frecuente en todos los blogs y gran parte del promedio estará “inclinado” hacia estas palabras comunes, mientras que las palabras poco comunes son las que darle más información Para estudiar este efecto, es posible que desee sopesar el vector de palabras de cada palabra con el inverso de su frecuencia sobre las publicaciones del blog, o el registro del inverso de su frecuencia. Tales ponderaciones pueden amplificar el efecto de palabras poco comunes.

Dando un paso más en este enfoque, puede agregar algunas “características” adicionales para mejorar el rendimiento de su modelo. Algunas características para probar pueden ser:

  • tal vez notes que las publicaciones largas en el blog son mejores, así que agregas una función que mide la longitud de la publicación en palabras o registra la longitud de la publicación
  • cantidad de comentarios a la publicación
  • vectores de palabras promedio de los comentarios a esta publicación, ponderados o no ponderados
  • cantidad de “acciones” que la publicación ha recibido a través de redes confiables como twitter, facebook, google +, etc. si tales estadísticas se muestran en la página del blog
  • quizás los bloggers frecuentes tienden a escribir mejores publicaciones, por lo que quizás la cantidad de publicaciones que el blogger ha publicado antes de esta publicación puede ser una buena señal

Tal análisis puede proporcionarle un clasificador bastante bueno y también hacerle saber mucho sobre la dinámica y las diversas estadísticas en este dominio que puede aprovechar más adelante.

Tal sistema es definitivamente construible sin demasiado esfuerzo agotador dados los modernos kits de herramientas como scipy, R, etc. ¡Buena suerte en su viaje! 🙂

Hola

Debería consultar este curso gratuito ofrecido por Google en Udacity: Deep Learning: llevar el aprendizaje automático al siguiente nivel

Enlace: Aprendizaje profundo

Breve descripción:

“El aprendizaje automático es uno de los campos de más rápido crecimiento y más emocionantes, y el aprendizaje profundo representa su verdadera ventaja. En este curso, desarrollará una comprensión clara de la motivación para el aprendizaje profundo y diseñará sistemas inteligentes que aprendan de conjuntos de datos complejos y / o a gran escala.

Le mostraremos cómo entrenar y optimizar redes neuronales básicas, redes neuronales convolucionales y redes de memoria a corto y largo plazo. Se introducirán sistemas de aprendizaje completos en TensorFlow a través de proyectos y tareas. Aprenderá a resolver nuevas clases de problemas que antes se consideraban un desafío prohibitivo y apreciará mejor la naturaleza compleja de la inteligencia humana a medida que resuelve estos mismos problemas sin esfuerzo utilizando métodos de aprendizaje profundo.

Hemos desarrollado este curso con Vincent Vanhoucke, científico principal de Google y líder técnico en el equipo de Google Brain “, como dice el sitio de Udacity.

Espero que ayude .

El aprendizaje profundo requiere muchos datos. Ese es el primer y más importante requisito para entrenar un modelo de red neuronal.
Si ya tiene dichos datos, puede entrenarlos en los artículos asimilando primero los vectores de palabras (preferiblemente vectores de palabras GloVe) y utilizando una estructura de árbol con entradas como vectores de palabras individuales y salidas como un vector final que representa todo el documento.
El modelo comenzará a asociar buenos vectores con buenos artículos y malos vectores con malos artículos.
Un documento que puede ayudarlo es Representaciones semánticas mejoradas de redes de memoria a corto y largo plazo estructuradas en árbol.

Bengio ha hecho muchos trabajos básicos sobre esto: APRENDIZAJE PROFUNDO
Bengio es un destacado investigador e instructor en la Universidad de Montreal. Y él trabaja en Google. Si está interesado en sus obras, use Google Scholar.
El anterior es gratis para descargar y abierto para sugerencias. Ha concluido una buena visión general del progreso del aprendizaje profundo.

Si tiene un conjunto de datos etiquetado, puede probar un clasificador de texto como doc2vec.

Doc2vec

Word2vec

Ejemplo de código

El aprendizaje profundo puede ser un poco exagerado para un primer paso en esto. Intentaría diseñar algunas características (¿qué hace que un artículo sea bueno / malo?) Y luego intentar un clasificador más simple. Regresión logística o SVM, tal vez.

Buena idea
¿Qué rastreador?