Este proyecto cambia la implementación del código MXNET en el libro original "Aprendizaje profundo manual" a TensorFlow2. Después de que el tutor de Archersama consultó con el maestro Li Mu, la implementación de este proyecto ha sido aprobada por el maestro Li Mu. Autores de libros originales: Aston Zhang, Li Mu, Zachary C. Lipton, Alexander J. Smora y otros contribuyentes comunitarios, Dirección de Github: https://github.com/d2l-ai/d2l-zh
Hay algunas diferencias en las versiones chinas e inglesas de este libro. Este proyecto refactora principalmente tensorflow2 para la versión china de este libro. Además, este proyecto también se refiere al proyecto DIVE-INTO-DL-PYTORCH que refactora Pytorch en la versión china de este libro, gracias aquí.
Se ha actualizado a diez capítulos y se está actualizando continuamente. . .
El proyecto ha sido reportado por muchas cuentas públicas como Machine Heart y ha sido reconocido por el autor original Li Mu.
Introducción
Este repositorio contiene principalmente dos carpetas: código y documentos (más algunos datos se almacenan en los datos). La carpeta de código es el código de cuaderno Jupyter relevante para cada capítulo (basado en tensorflow2); La carpeta Docs es el contenido relevante en el formato de Markdown del libro "Aprendizaje profundo manual", y luego usa Docsify para implementar el documento web en las páginas GitHub. Dado que el libro original usa el marco MXNET, el contenido de documentos puede ser ligeramente diferente del libro original, pero el contenido general es el mismo. Las contribuciones a este proyecto o problema son bienvenidas.
Para multitudes
Este proyecto está dirigido a los zapatos para niños que están interesados en el aprendizaje profundo, especialmente aquellos que desean usar TensorFlow2 para el aprendizaje profundo. Este proyecto no requiere que tenga ningún conocimiento de fondo de aprendizaje profundo o aprendizaje automático. Solo necesita comprender las matemáticas y la programación básicas, como el álgebra lineal básica, la diferencial y la probabilidad, y la programación básica de Python.
Cómo comer
Método 1
Este repositorio contiene algunas fórmulas de látex, pero el nativo de Markdown de GitHub no admite la pantalla de fórmula, y la carpeta DOCS se ha implementado en las páginas de GitHub utilizando Docsify, por lo que la forma más fácil de ver el documento es acceder directamente a la versión web de este proyecto . Por supuesto, si aún desea ejecutar el código relevante, aún tiene que clonar el proyecto y luego ejecutar el código relevante en la carpeta de código.
Método 2
También puede acceder a la documentación localmente e instalar primero docsify-cli :
Luego clone el proyecto localmente:
git clone https://github.com/TrickyGo/Dive-into-DL-TensorFlow2.0
cd Dive-into-DL-TensorFlow2.0
Luego ejecute un servidor local, para que pueda acceder fácilmente al efecto de representación web del documento en tiempo real en http://localhost:3000 .
Colaboradores
Los patrocinadores y los principales contribuyentes de este proyecto son los siguientes.
arquero (líder) | Trillado
| Espada
| Shusentang
| Liangqingyuan
|
Tabla de contenido
- Introducción
- Guía de lectura
- 1. Introducción al aprendizaje profundo
- 2. Conocimiento de preparación
- 2.1 Configuración del entorno
- 2.2 Operación de datos
- 2.3 Encuentra automáticamente gradientes
- 2.4 Verifique el documento
- 3. Conceptos básicos del aprendizaje profundo
- 3.1 regresión lineal
- 3.2 Implementación de la regresión lineal desde cero
- 3.3 Una implementación concisa de la regresión lineal
- 3.4 Softmax regresión
- 3.5 conjunto de datos de clasificación de imágenes (moda-mnist)
- 3.6 Implementación de la regresión Softmax desde cero
- 3.7 Una simple implementación de la regresión de Softmax
- 3.8 máquina de detección de múltiples capas
- 3.9 Implementación de la máquina de percepción de múltiples capas desde cero
- 3.10 Implementación simple de la máquina de percepción de múltiples capas
- 3.11 Selección de modelo, poco accesorio y sobreajuste
- 3.12 Decadencia de peso
- 3.13 Método de descarte
- 3.14 Propagación hacia adelante, propagación de la espalda y diagramas de cálculo
- 3.15 Estabilidad numérica e inicialización del modelo
- 3.16 Competencia real de Kaggle: Predicción del precio de la vivienda
- 4. Computación de aprendizaje profundo
- 4.1 Construcción del modelo
- 4.2 Acceso, inicialización y intercambio de parámetros del modelo
- 4.3 Retraso Inicialización de los parámetros del modelo
- 4.4 Capa personalizada
- 4.5 Lectura y almacenamiento
- 4.6 Computación de GPU
- 5. Red neuronal convolucional
- 5.1 Capa de convolución bidimensional
- 5.2 Llena y paso
- 5.3 canal de entrada múltiple y canal de múltiples salidas
- 5.4 Capa de agrupación
- 5.5 Red neuronal convolucional (Lenet)
- 5.6 Red neuronal convolucional profunda (Alexnet)
- 5.7 Redes que usan elementos de repetición (VGG)
- 5.8 Red en la red (NIN)
- 5.9 Red con conexión paralela (Googlenet)
- 5.10 Normalización por lotes
- 5.11 Red residual (resnet)
- 5.12 Densenet
- 6. Red neuronal recurrente
- 6.1 Modelo de idiomas
- 6.2 Red neuronal recurrente
- 6.3 Modelo de datos de idiomas (letra del álbum de Jay Chou)
- 6.4 Implementación de redes neuronales recurrentes desde cero
- 6.5 Implementación simple de la red neuronal recurrente
- 6.6 Backpropagation a través del tiempo
- 6.7 Unidad de circulación cerrada (Gru)
- 6.8 Memoria a largo plazo (LSTM)
- 6.9 Red neuronal recurrente profunda
- 6.10 Red neuronal recurrente bidireccional
- 7. Algoritmo de optimización
- 7.1 Optimización y aprendizaje profundo
- 7.2 Descendencia de gradiente y descenso de gradiente estocástico
- 7.3 Descendencia de gradiente estocástico de lotes pequeños
- 7.4 Método de impulso
- 7.5 Algoritmo de Adagrad
- 7.6 Algoritmo RMSProp
- 7.7 Algoritmo de Adadelta
- 7.8 Algoritmo de Adam
- 8. Rendimiento computacional
- 8.1 Programación híbrida imperativa y símbolo
- 8.2 Cálculo asincrónico
- 8.3 Computación paralela automática
- 8.4 Computación multi-GPU
- 9. Visión por computadora
- 9.1 Aumento de imágenes
- 9.2 Ajuste fino
- 9.3 Detección de objetos y caja delimitador
- 9.4 Marco de anclaje
- 9.5 Detección de objetivos múltiples
- 9.6 conjunto de datos de detección de objetos (Pikachu)
- 9.8 Serie Regional Convolutional Neural Network (R-CNN)
- 9.9 segmentación semántica y conjuntos de datos
- 9.10 Red convolucional completa (FCN)
- 9.11 Migración de estilo
- 9.12 Competencia práctica de Kaggle: Clasificación de imágenes (CIFAR-10)
- 9.13 Competencia práctica de Kaggle: identificación de raza de perros (Imagenet Dogs)
- 10. Procesamiento del lenguaje natural
- 10.1 incrustación de palabras (Word2Vec)
- 10.2 Entrenamiento aproximado
- 10.3 Implementación de Word2Vec
- 10.4 Incrustación de subvenciones (FastText)
- 10.5 Word Incorporación de vectores globales (guante)
- 10.6 Encuentra sinónimos y analogías
- 10.7 Clasificación de emoción de texto: utilizando redes neuronales recurrentes
- 10.8 Clasificación de emociones de texto: Uso de la red neuronal convolucional (TextCnn)
- 10.9 Coder-Decoder (SEQ2SEQ)
- 10.10 Bunch Search
- 10.11 Mecanismo de atención
- 10.12 Traducción automática
- 11. Apéndice
- 11.1 Lista de símbolos principales
- 11.2 Conceptos básicos de las matemáticas
- 11.3 Uso de Jupyter Notebook
- 11.4 Ejecutar código usando AWS
- 11.5 Guía de compra de GPU
Actualizado continuamente ...
Dirección de libro original
Versión china: aprende aprendizaje profundo en manos | Repositorio de Github
Versión en inglés: sumergirse en el aprendizaje profundo | Repositorio de Github
Cita
Si usó este proyecto en su investigación, cite el libro original:
@book{zhang2019dive,
title={Dive into Deep Learning},
author={Aston Zhang and Zachary C. Lipton and Mu Li and Alexander J. Smola},
note={url{http://www.d2l.ai}},
year={2019}
}