Plan de estudios de aprendizaje automático
El aprendizaje automático es una rama de la inteligencia artificial dedicada a hacer que las máquinas aprendan de los datos de observación sin ser programadas explícitamente.
El aprendizaje automático y la IA no son lo mismo. El aprendizaje automático es un instrumento en la sinfonía de IA: un componente de IA. Entonces, ¿qué es exactamente el aprendizaje automático, o ML, exactamente? Es la capacidad de un algoritmo aprender de datos anteriores para producir un comportamiento. ML está enseñando máquinas para tomar decisiones en situaciones que nunca habían visto.
Este plan de estudios está hecho para guiarlo para aprender el aprendizaje automático, recomendar herramientas y ayudarlo a adoptar el estilo de vida de ML sugiriendo que los medios sigan. Lo actualizo regularmente para mantener la frescura y eliminar el contenido obsoleto y las herramientas desactivadas.
Aprendizaje automático en general
Estudie esta sección para comprender los conceptos fundamentales y desarrollar intuiciones antes de profundizar.
Se dice que un programa de computadora aprende de la experiencia E con respecto a alguna clase de tareas T y Medida de rendimiento P si su rendimiento en las tareas en T , medidas por P , mejora con la experiencia E
- Elementos de IA Un montón de cursos fáciles que enseñan AI y aprendizaje automático
- COMS W4995 Videos de aprendizaje automático aplicado Spring 2020 y diapositivas de un curso de ML aplicado de la Universidad de Columbia.
- Curso de aprendizaje automático obstinado por Fast.ai
- Curso de bloqueo de aprendizaje automático con TensorFlow API de Google La introducción práctica y acelerada de Google para el aprendizaje automático
- Introducción al aprendizaje automático - Udacity Hands en Scikit -Learn (Python) Programación del aprendizaje en conceptos básicos de ML
- Aprendizaje automático: supervisado, sin supervisión y refuerzo - Udacity Los 2 instructores son divertidos
- El dominio de aprendizaje automático se presenta cuidadosamente la guía paso a paso a algunos algoritmos particulares
- La especialización de Andrew Ng en Coursera recomendada para las personas que desean conocer los detalles de los algoritmos de ML bajo el capó, comprenda suficientes matemáticas para ser peligrosas y hacer tareas de codificación en Python
- Recetas de ML - Lista de reproducción de YouTube Un contenido procesable concreto realmente bien diseñado para ML Introducción
- El aprendizaje automático es divertido Parte 1 Enfoque simple para el aprendizaje automático para personas que no son matemáticas
- Aprendizaje automático con Python - Lista de reproducción de YouTube
- Aprendizaje automático anhelo de Andrew Ng
- Aterrena un trabajo de datos: el curso es una guía obstinada y práctica para las personas que desean concentrarse en conseguir un trabajo. Por ejemplo, sugieren que saber cómo funciona el árbol de decisión ya es lo suficientemente bueno, no necesita saber cómo funcionan todos los modelos, ¡lo cual es cierto! Pero este consejo es principalmente para datos tabulares.
- El aprendizaje automático sin server, construir su propio aprendizaje automático de servicio de predicción sin servidor
- MLOPS efectivos: Desarrollo de modelos Un curso gratuito por pesas y prejuicios con certificación
- Matemáticas para aprendizaje automático y especialización en ciencias de datos Matemáticas por Coursera
Libros
- Aprendizaje automático con Pytorch y Scikit-Learn de Sebastian Raschka
- El aprendizaje automático práctico con Scikit-Learn, Keras y Tensorflow, 2ª edición de Aurélien Géron es el libro más vendido porque es genial.
- https://github.com/fastai/fastbook The FASTAI Book, publicado como Notebooks Jupyter
- https://www.deeplearnebook.org/ Math Heavy Book de Ian Goodfellow y Yoshua Bengio y Aaron Courville
- https://christophm.github.io/interpretable-ml-book/ Una guía para hacer que los modelos de caja negra explicen
- https://themlbook.com/ El libro de aprendizaje automático de Cien Page de Andriy Burkov
Aprendizaje de refuerzo
Construir una máquina que sienta el medio ambiente y luego elija la mejor política (acción) para hacer en cualquier estado dado para maximizar su recompensa escalar a largo plazo esperada es el objetivo del aprendizaje de refuerzo.
- OpenAi giró este es un recurso educativo producido por OpenAI que hace que sea más fácil aprender sobre el aprendizaje de refuerzo profundo (Deep RL).
- Aprendizaje de refuerzo básico Una serie de introducción para refuerzo Aprendizaje (RL) con tutoriales intermedios paso a paso.
- Temas avanzados: RL 2015 (COMPM050/COMPGI13) de David Silver (el tipo detrás de Alphago)
- Un libro de introducción de Richard S. Sutton y Andrew G. Barto
- Aprendizaje de refuerzo profundo: pong de píxeles
- Conferencia 10: Aprendizaje de refuerzo - YouTube
- Un documento de encuesta
- Aprendizaje de refuerzo profundo: un tutorial - OpenAi
- CS 294: Aprendizaje de refuerzo profundo, primavera de 2017
Aprendizaje profundo
El aprendizaje profundo es una rama del aprendizaje automático donde las redes neuronales artificiales profundas (DNN) - algoritmos inspirados en la forma en que funcionan las neuronas en el cerebro - encuentran patrones en los datos sin procesar mediante la combinación de múltiples capas de neuronas artificiales. A medida que aumentan las capas, también lo hace la capacidad de la red neuronal para aprender conceptos cada vez más abstractos.
El tipo más simple de DNN es un perceptrón multicapa (MLP).

- El Little Book of Deep Learning Este libro es una breve introducción al aprendizaje profundo para los lectores con antecedentes de tallo, originalmente diseñado para leer en la pantalla de un teléfono. Se distribuye bajo una licencia Creative Commons no comercial y se descargó cerca de 250'000 veces en el mes siguiente a su lanzamiento público.
- Aprendizaje profundo de la pila completa Aprender a nivel de producción de aprendizaje profundo de los mejores profesionales
- Deeplearning.ai un montón de cursos impartidos por Andrew Ng en Coursera; Es la secuela del curso de aprendizaje automático en Coursera.
- Introducción al aprendizaje profundo con Pytorch un curso de Facebook AI sobre Udacity
- Una introducción amistosa a las redes neuronales y de aprendizaje profundo
- Una red de juegos de red de red neuronal con una red neuronal simple diseñada para ayudarlo a visualizar el proceso de aprendizaje
- Aprendizaje profundo desmitificado - YouTube Explique la inspiración del aprendizaje profundo de las neuronas reales a las redes neuronales artificiales
- Aprenda tensorflow y aprendizaje profundo, sin un doctorado. Este curso de 3 horas (video + diapositivas) ofrece a los desarrolladores una rápida introducción a los fundamentos de aprendizaje profundo, con un flujo de tensor en el trato.
- Una guía para el aprendizaje profundo de yn^2 una guía de matemáticas curadas para el aprendizaje profundo
- Curso práctico de aprendizaje profundo para codificadores en Fast.ai enseñado por Jeremy Howard (el competidor número 1 de Kaggle 2 años consecutivo y fundador de Enlitic)
- Aprendizaje profundo - Udacity Recomendada para el alumno visual que conoce algunos ML, este curso proporciona ideas de alto nivel de aprendizaje profundo, densos detalles intuitivos dedicados a un corto período de tiempo, utilizará TensorFlow dentro del curso
- Escuela de verano de aprendizaje profundo, Montreal 2015
- Clase de redes neuronales - Lista de reproducción de YouTube
- http://neuralnetworksanddeeplearning.com/index.html Un libro práctico en línea para la intuición de matemáticas de aprendizaje profundo, puedo decir que después de que termine esto, podrá explicar el aprendizaje profundo con un detalle.
- El zoológico de la red neuronal Un grupo de modelos de redes neuronales que debes conocer (sé sobre la mitad de ellos, así que no te preocupes que no conozcas muchos porque la mayoría de ellos no son populares o útiles en el presente)
- Introducción a TensorFlow para el aprendizaje profundo que se enseña en Udacity
- Primeros • AI Aquí hay una selección de artículos cuidadosamente seleccionados sobre los fundamentos/conceptos de IA que cubren todo el proceso de construcción de redes neuronales para capacitarlos para evaluar los resultados. También hay una explicación muy detallada de la arquitectura del transformador.
- Los modelos de difusión de la cara abrazando el curso Aprende la teoría, entrena el modelo desde cero y úsala para generar imágenes y audio.
- Fundamentos de aprendizaje profundo de Lightning.ai con Sebastian Raschka
Redes neuronales convolucionales
DNNS que funcionan con datos de cuadrícula como formas de onda de sonido, imágenes y videos mejor que los DNN ordinarios. Se basan en los supuestos de que las unidades de entrada cercanas están más relacionadas que las unidades distantes. También utilizan invariancia de traducción. Por ejemplo, dada una imagen, podría ser útil detectar el mismo tipo de bordes en todas partes de la imagen. A veces se les llama convnets o CNN .
- Cómo funcionan las redes neuronales convolucionales: explicación técnica de YouTube que incluye operaciones de agrupación, relu, capa totalmente conectada, optimización utilizando descenso de gradiente
- Red neuronal que lo cambia todo - ComputerPhile
- Una guía para principiantes para comprender las redes neuronales convolucionales
- Aprendizaje profundo para la visión por computadora (Andrej Karparthy, Openai) Este es mi video favorito de la red convolucional. Andrej explica Convnet en detalle respondiendo a todas las preguntas curiosas que uno podría tener. Por ejemplo, la mayoría de los artículos solo hablan sobre la convolución en la imagen en escala de grises, pero él también describe la convolución en las imágenes con canales de color. También habla sobre las preocupaciones y las suposiciones que hacen los convincentes. ¡Esta es una gran conferencia!
- Comprender las redes neuronales a través de una visualización profunda explica cómo visualizar una convnet utilizando varias técnicas
Redes neuronales recurrentes
DNNS que tienen estados. También entienden secuencias que varían en longitud. A veces se les llama RNNS .
- http://karpathy.github.io/2015/05/21/rnn-effectivity/
- http://colah.github.io/posts/2015-08-enterstanding-lstms/
- http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1introduction-to-rnns/
Mejores prácticas
- Reglas de aprendizaje automático: Mejores prácticas para la ingeniería de ML Es un documento de Martin Zinkevich sobre las mejores prácticas de Google en el aprendizaje automático.
- Una receta para capacitar a las redes neuronales del blog Andrej sobre cómo entrenarse para ser un ingeniero de aprendizaje automático paranoico.
- Cómo depurar redes neuronales. Manual.
- Una descripción general de los algoritmos de optimización de descendencia de gradiente
- Libro de jugadas de ajuste de aprendizaje profundo Un libro de jugadas para maximizar sistemáticamente el rendimiento de los modelos de aprendizaje profundo.
Herramientas
Bibliotecas y marcos que son útiles para el aprendizaje automático práctico
Marcos
Bloques de construcción de aprendizaje automático
- Biblioteca de aprendizaje automático General Scikit-Learn, abstracción de alto nivel, orientado a principiantes
- Tensorflow; Impresionante tensorflow; Marco de gráficos de cálculo creado por Google, tiene una buena placa de visualización, probablemente el marco más popular hoy en día para hacer un aprendizaje profundo
- Keras: El aprendizaje profundo para los humanos Keras es una API de aprendizaje profundo escrita en Python, que se ejecuta sobre TensorFlow. Sigue siendo rey de la abstracción de alto nivel para el aprendizaje profundo. ACTUALIZACIÓN: ¡Keras ya está disponible para TensorFlow, Jax y Pytorch!
- Tensores de Pytorch y redes neuronales dinámicas en Python con una fuerte aceleración de GPU. Es comúnmente utilizado por investigadores de vanguardia, incluido OpenAi.
- Lightning el marco de aprendizaje profundo para entrenar, desplegar y enviar productos AI AI Lightning Rápidamente. (Solía llamarse Pytorch Lightning)
- Jax es Autograd y XLA, reunido para la investigación de aprendizaje automático de alto rendimiento.
- OneFlow es un marco de aprendizaje profundo diseñado para ser fácil de usar, escalable y eficiente.
- Apache MXNET (incubación) para el aprendizaje profundo Apache MXNet es un marco de aprendizaje profundo diseñado tanto para la eficiencia como para la flexibilidad. Le permite mezclar programación simbólica e imperativa para maximizar la eficiencia y la productividad.
- Chainer Un marco flexible de redes neuronales para el aprendizaje profundo
- Vowpal Wabbit es un sistema de aprendizaje automático que empuja la frontera del aprendizaje automático con técnicas como en línea, hash, allreduce, reducciones, aprendizaje2Search, aprendizaje activo e interactivo. Existe un enfoque específico en el aprendizaje de refuerzo con varios algoritmos de bandidos contextuales implementados y la naturaleza en línea prestando bien el problema.
- H2O es una plataforma en memoria para el aprendizaje automático distribuido y escalable.
- Redes neuronales del gráfico Spektral con Keras y Tensorflow 2.
- Ivy es un transpilador ML y un marco, que actualmente admite Jax, TensorFlow, Pytorch y Numpy. ¿Ivy unifica todos los marcos ML? ¡Permitiéndole no solo escribir código que pueda usarse con cualquiera de estos marcos como backend, sino también para convertir cualquier función, modelo o biblioteca escrita en cualquiera de ellos a su marco preferido!
Sin codificación
- Ludwig Ludwig es una caja de herramientas que permite a los usuarios entrenar y probar modelos de aprendizaje profundo sin la necesidad de escribir código. Está construido sobre TensorFlow.
Aumento de gradiente
Modelos que se utilizan en gran medida en competiciones debido a su excelente rendimiento de generalización.
- https://github.com/dmlc/xgboost de gradiente extremo impulso
- https://github.com/microsoft/lightgbm Alternativa ligera en comparación con xgboost
- https://github.com/catboost/catboost Un gradiente de alto rendimiento rápido, escalable y de alto rendimiento en la biblioteca de árboles de decisión, utilizado para clasificar, clasificación, regresión y otras tareas de aprendizaje automático para Python, R, Java, C ++. Admite el cálculo en CPU y GPU.
- https://github.com/tensorflow/decision-forests Tensorflow Decision Bosques (TF-DF) es una colección de algoritmos de estado de estado para la capacitación, servicio e interpretación de modelos de bosques de decisión.
- Implementación de Pytorch/TensorFlow de TabNet Paper. Leer adicional: Balances de TabNet Explicabilidad y rendimiento del modelo en datos tabulares, pero ¿puede destronarse los modelos de árboles aumentados?
Inferencia de series de tiempo
Los datos de la serie temporal requieren un proceso de extracción de características único para que se puedan utilizar en la mayoría de los modelos de aprendizaje automático porque la mayoría de los modelos requieren que los datos estén en formato tabular. O puede usar arquitecturas de modelos especiales que se dirigen a la serie temporal, por ejemplo, LSTM, TCN, etc.
- https://github.com/Timeseriesai/tsai Time Timeseries de aprendizaje profundo Pytorch FASTAI-Aprendizaje profundo de estado de arte con series temporales y secuencias en Pytorch/Fastai. Leer adicional: TSAI - Aprendizaje automático de última generación para series de tiempo, Parte 1.
- https://github.com/alan-turing-institute/sktime un marco unificado para el aprendizaje automático con series de tiempo
- https://github.com/sktime/sktime-dl Un paquete de extensión para el aprendizaje profundo con tensorflow/keras para sktime
- https://github.com/tslearn-team/tslearn/ Un kit de herramientas de aprendizaje automático dedicado a los datos de la serie temporal
- https://github.com/blue-yderonder/tsfresh extracción automática de características relevantes de series de tiempo
- https://github.com/johannfaouzi/pyts un paquete de Python para la clasificación de series de tiempo
- https://github.com/facebook/prophet Tool para producir pronósticos de alta calidad para datos de series de tiempo que tienen estacionalidad múltiple con un crecimiento lineal o no lineal.
- https://github.com/philipperemy/keras-tcn keras red convolucional temporal
- Rocket: clasificación de series de tiempo excepcionalmente rápida y precisa utilizando núcleos convolucionales aleatorios; Minirocket: una transformación determinista muy rápida (casi) para la clasificación de series de tiempo; Estas 2 técnicas son para extraer características de series de tiempo. Leer aún más: Rocket: clasificación rápida y precisa de la serie temporal
Ciclo vital
Bibliotecas que lo ayudan a desarrollar/depurar/implementar el modelo en producción (MLOPS). Hay más en ML que capacitar al modelo.
- https://huggingface.co/ al igual que Github, pero para almacenar modelos ML, conjuntos de datos y aplicaciones (llaman a aplicaciones como espacios). Tienen bibliotecas para que use fácilmente sus modelos/conjuntos de datos en su código. El almacenamiento es gratuito e ilimitado para proyectos públicos y privados.
- https://wandb.ai/ Cree mejores modelos más rápido con el seguimiento de los experimentos, la versión del conjunto de datos y la gestión del modelo
- https://github.com/flyteorg/flyte Flyte facilita la creación de flujos de trabajo concurrentes, escalables y mantenibles para el aprendizaje automático y el procesamiento de datos.
- https://github.com/allegroai/clearml Suite de herramientas auto-mágicas para optimizar su flujo de trabajo ML. Gerente de Experimentos, ML-OP y gestión de datos
- https://github.com/quantumblacklabs/kedro Un marco de Python para crear código de ciencia de datos reproducible, mantenible y modular.
- https://github.com/determined-ai/determined Determinado hay una plataforma de entrenamiento de aprendizaje profundo de código abierto que hace que la construcción de modelos sea rápido y fácil. Lo uso principalmente para ajustar los hiperparámetros.
- https://github.com/iterative/cml El aprendizaje automático continuo (CML) es una biblioteca de código abierto para implementar la integración y entrega continua (CI/CD) en proyectos de aprendizaje automático. Úselo para automatizar partes de su flujo de trabajo de desarrollo, incluida la capacitación y evaluación de modelos, comparar experimentos de ML a través del historial de su proyecto y monitorear los conjuntos de datos cambiantes.
- https://github.com/creme-ml/creme python biblioteca para aprendizaje automático en línea . Todas las herramientas en la biblioteca se pueden actualizar con una sola observación a la vez y, por lo tanto, se pueden usar para aprender de la transmisión de datos.
- https://github.com/aimhubio/aim Una forma súper fácil de registrar, buscar y comparar 1000 de ML de entrenamiento
- https://github.com/netflix/metaflow Metaflow es una biblioteca de Python amigable para los humanos que ayuda a los científicos e ingenieros a construir y administrar proyectos de ciencia de datos de la vida real. Metaflow se desarrolló originalmente en Netflix.
- MLFLOW MLFLOW (actualmente en Beta) es una plataforma de código abierto para administrar el ciclo de vida ML, incluida la experimentación, la reproducibilidad y la implementación. Actualmente ofrece tres componentes: seguimiento de mlflow, proyectos MLFlow, modelos MLFlow.
- Floydhub un heroku para el aprendizaje profundo (te enfocas en el modelo, se desplegarán)
- Comet.ml Comet permite a los científicos y equipos de datos rastrear, comparar, explicar y optimizar experimentos y modelos en todo el ciclo de vida del modelo. De la capacitación a la producción
- https://neptune.ai/ Administre todos los metadatos de su construcción de modelos en un solo lugar
- https://github.com/fastai/nbdev Cree deliciosos proyectos de Python usando cuadernos Jupyter
- https://rapids.ai/ ciencia de datos en las GPU
- https://github.com/datarevenue-berlin/openmlops
- https://github.com/jacopotagliabue/you-dont-need-a-bigger-boat no es realmente una herramienta, sino una guía sobre cómo componer muchas herramientas juntas en el negocio de escala razonable del mundo real.
- https://www.modular.com/ Una empresa con un objetivo ambicioso de rediseñar la infraestructura de IA desde cero. Presentan un nuevo idioma llamado Mojo, que es un superconjunto de Python.
Nube de GPU
Recuerde que esta es una lista obstinada. Hay bazillones de proveedores de nubes por ahí. No voy a enumerarlos todos. Voy a enumerar los que estoy familiarizado y creo que son buenos.
- https://lightning.ai/ Lightning Studio hace que sea posible que abandone su computadora portátil de alta gama para desarrollar modelos de aprendizaje automático. Simplemente escriba el código en la nube usando VSCODE y use sus GPU para capacitación o inferencia. Lightning Studio es similar a GitHub CodeSpaces pero con GPU.
- https://modal.com/ Modal le permite ejecutar o implementar modelos de aprendizaje automático, empleos de cálculo masivamente paralelos, colas de tareas, aplicaciones web y mucho más, sin su propia infraestructura.
- https://www.runpod.io/ Ahorre más del 80% en GPU. El alquiler de GPU es fácil con Jupyter para Pytorch, TensorFlow o cualquier otro marco de IA. Lo he usado antes. Bastante fácil de usar.
- https://replicate.com/ Ejecutar y modelos de fuga abierta. Implemente modelos personalizados a escala usando COG. Todo con una línea de código.
- https://bentoml.com/ Bentoml es la plataforma para que los ingenieros de software creen productos de IA. Implementar usando el paquete Bentoml.
- https://www.baseten.co/ Inferencia de modelo rápida y escalable en la nube utilizando armadura
- https://lambdalabs.com/ GPU Cloud construida para el aprendizaje profundo. Acceso instantáneo a los mejores precios para las GPU en la nube en el mercado. No se requieren compromisos ni negociaciones. Ahorre más del 73% frente a AWS, Azure y GCP. Configurado para el aprendizaje profundo con Pytorch, TensorFlow, Jupyter
- https://www.beam.cloud/ Compute de GPU on-Demand: Traine e implementen aplicaciones AI y LLM de forma segura en GPU sin servidor, sin administrar la infraestructura
Almacenamiento de datos
- https://github.com/huggingface/datasets/ Un paquete para cargar, preprocesar y compartir conjuntos de datos.
- https://github.com/actiLELOOPAI/Deeplake Data Lake para el aprendizaje profundo. Construir, administrar, consultar, versiones y visualizar conjuntos de datos. Transmitir datos en tiempo real a Pytorch/TensorFlow.
- https://github.com/determined-ai/yogadl mejor enfoque para la carga de datos para el aprendizaje profundo. API-transparente almacenamiento en caché al disco, GCS o S3.
- https://github.com/google/ml_collections Ml Collections es una biblioteca de colecciones de Python diseñadas para casos de uso de ML. Contiene configDict, una estructura de datos "similar a dict" con acceso de puntos a elementos anidados. Se supone que se utiliza como una forma principal de expresar configuraciones de experimentos y modelos.
Disputas de datos
Limpieza de datos y aumento de datos
- https://github.com/cgnorthcutt/cleanLab Error de etiquetado limpio del conjunto de datos
- https://github.com/aleju/imgaug Biblioteca de aumento de imágenes que admite convertir puntos de manteos en mapas de calor
- https://github.com/albu/albumentations más rápida Biblioteca de aumento de imágenes
- https://github.com/mdbloice/augmentor Aumento de imagen fácil de usar para tareas de clasificación (no puede aumentar los puntos clave)
- https://github.com/facebookresearch/augly una biblioteca de aumentos de datos para audio, imagen, texto y video.
Orquestación de datos
- https://github.com/prefectthq/prefect
- https://github.com/dagster-io/dagster
- https://github.com/ploomber/ploomber Ploomber es la forma más rápida de construir tuberías de datos ⚡️. Use su editor favorito (Jupyter, VScode, PyCharm) para desarrollar interactivamente e implementar ☁️ sin cambios de código (Kubernetes, Airflow, AWS Batch y Slurm).
- https://github.com/orchest/orchest Built Data Pipelines, la forma fácil de usar UI fácil de usar
Visualización de datos
- https://github.com/gradio-app/gradio Cree UIS para su modelo de aprendizaje automático en Python en 3 minutos. La interfaz de usuario es una aplicación web que se puede compartir con cualquier persona, incluso personas no técnicas. Una de las características que me gustan es el componente de ejemplos. Le muestra muy bien que esta aplicación es para un caso de uso de aprendizaje automático.
- https://github.com/streamlit/streamlit Streamlit convierte los scripts de datos en aplicaciones web compartibles en minutos. Todo en Python. Todo gratis. No se requiere experiencia en el frente.
- https://github.com/obegedijk/explainerdashboard construya rápidamente los paneles de IA explicables que muestran el funcionamiento interno de los llamados modelos de aprendizaje automático "Blackbox".
- https://github.com/lux-org/lux simplemente imprimiendo un marco de datos en un cuaderno Jupyter, Lux recomienda un conjunto de visualizaciones que resalten tendencias y patrones interesantes en el conjunto de datos.
- https://github.com/slundberg/shap Shap (explicaciones aditivas de Shapley) es un enfoque teórico del juego para explicar la salida de cualquier modelo de aprendizaje automático.
- https://github.com/comet-ml/kangas Kangas es una herramienta para explorar, analizar y visualizar datos multimedia a gran escala. Proporciona una API de Python directa para registrar grandes tablas de datos, junto con una interfaz visual intuitiva para realizar consultas complejas en su conjunto de datos.
Ajuste de hiperparameter
Antes de comenzar, lea esta publicación de blog para comprender la motivación de la búsqueda en general: https://www.determined.ai/blog/stop-doing-iterative-model-development
Abre los ojos al desarrollo impulsado por la búsqueda. Te cambiará. El principal beneficio es que no habrá contratiempos. Solo se permiten el progreso y la mejora. Imagine trabajar y progresar todos los días, en lugar de regresar al revés porque su nueva solución no funciona. Este progreso garantizado es lo que le hará el desarrollo basado en la búsqueda. Aplíquelo a todo en optimización, no solo el aprendizaje automático.
Mis principales preferencias obstinadas están determinadas, Ray Tune y Optuna debido a la paralelización (ajuste distribuido en muchas máquinas), flexibilidad (puede optimizar los objetivos arbitrarios y permitir que los parámetros del conjunto de datos sean sintonizados), biblioteca de algoritmos de ajuste SOTA (EG Hyperband, BoHB, TPE, PBT, Asha, etc.), Visualización de resultados/herramientas de análisis de resultados, y extensiones extensas/extensas.
- https://github.com/determined-ai/determined Determinado hay una plataforma de entrenamiento de aprendizaje profundo de código abierto que hace que la construcción de modelos sea rápido y fácil. En mi opinión, es mejor para ajustar a los hiperparámetros de modelos de aprendizaje profundo porque entrenará muchas épocas en modelos que tienen métricas prometedoras y modelos de parada temprana que no lo hacen. Apoyan a AWS y la mayoría de los servicios en la nube como ciudadanos de primera clase. También apoyan instancias preventibles , que nuevamente son baratas. Cuando termina de entrenamiento, todas las instancias de GPU se apagan automáticamente. Si desea ahorrar dinero en la capacitación a gran escala, vaya con determinado.
- https://docs.ray.io/en/master/tune/index.html ray tune es una biblioteca de Python para la ejecución del experimento y la sintonización de hiperparameter a cualquier escala. Si está buscando un ajuste distribuido, Ray Tune es probablemente el marco más serio que existe.
- https://github.com/optuna/optuna Un marco automático de software de optimización de hiperparameter (marco agnóstico, define by-run)
- https://github.com/pyhopper/pyhopper Pyhopper es un optimizador de hiperparameter, hecho específicamente para problemas de alta dimensión que surgen en la investigación y las empresas de aprendizaje automático. Este tipo afirmó que es 10 veces más rápido que Optuna. ¿Es este reclamo cierto? ¡No podemos saber hasta que lo intentemos!
- https://github.com/keras-team/keras-tuner una optimización de hiperparameter distribuible y fácil de usar para Keras; Lea su artículo aquí
- https://github.com/autonomio/talos Optimización de hiperparameter para keras, tensorflow (tf.keras) y pytorch
- https://github.com/maxpumperla/hyperas keras + Hypertopt: un envoltorio muy simple para una conveniente optimización de hiperparameter
- https://github.com/fmfn/bayesianoptimization Una implementación de Python de la optimización global con procesos gaussianos.
- https://github.com/hyperopt/hyperopt
- https://github.com/msu-coinlab/pymoo Optimización de múltiples objetivos en Python
- https://github.com/google/vizier Open Source Vizier: Optimización confiable y flexible de Black-Box. OSS Vizier es un servicio basado en Python para la optimización e investigación de la caja negra, basado en Google Vizier, uno de los primeros servicios de ajuste de hiperparameter diseñados para funcionar a escala.
Automl
Haga que las máquinas aprendan sin la tediosa tarea de ingeniería de características, selección de modelos y ajuste de hiperparameter que tiene que hacer usted mismo. ¡Deje que las máquinas realicen aprendizaje automático para usted!
Personalmente, si tengo un conjunto de datos tabular, probaría Flaml y Mljar primero, especialmente si quieres que algo funcione rápido. Si desea probar marcos de impulso de gradiente como XGBOost, LightGBM, Catboost, etc. Pero no sabe cuál funciona mejor, le sugiero que pruebe AutomL primero porque internamente intentará los marcos de impulso de gradiente mencionados anteriormente.
- Best OpenSource Automl Frameworks en 2021 Un artículo sobre medio que contiene una lista curada de Frameworks Automl de OpenSource.
- https://github.com/dabl/dabl Data Analysis BASE BASTER BILIDEN; Entrena rápidamente un modelo simple para ser utilizado como línea de base de rendimiento
- https://www.automl.org/ Encuentra una lista curada de bibliotecas e investigaciones automlizantes
- https://github.com/jhfjhfj1/autokeras a partir de la escritura (24 de agosto de 2018), esta biblioteca es bastante prematura, ya que solo puede hacer la clasificación.
- https://github.com/automl/auto-sklearn/ No se ejecuta en Windows, debe instalar WSL (subsistema de Windows para Linux) para usarlo
- https://github.com/epistasislab/tpot Ejecute miles de tuberías de aprendizaje automático y genere el código para usted
- https://github.com/climbsrocks/auto_ml Lea lo que el autor piensa sobre la comparación entre TPOT y Auto-Sklearn
- https://github.com/microsoft/flaml Automl rápido y ligero con algoritmos de optimización económica rentables.
- https://github.com/mljar/mljar-supered un paquete automatizado de aprendizaje automático Python que funciona con datos tabulares. Me gusta que genere un informe de visualización (en el modo Explicar) y características adicionales para sus características doradas y características de K-Means.
- https://github.com/awslabs/autogluon automl para texto, imagen y datos tabulares. Pero no es compatible con Windows (a partir del 11 de octubre de 2021).
- https://github.com/autoviml/auto_viml auto_viml fue diseñado para construir modelos interpretables de alto rendimiento con la menor cantidad de variables necesarias.
Arquitecturas de modelos
Arquitecturas que son de última generación en su campo.
- https://github.com/rwightman/pytorch-image-models modelos de imagen Pytorch, scripts, pesos previos a la aparición, resnet, resnext, eficientenet, EficeTnetV2, NFNET, transformador de visión, mixnet, mobilenet-v3/v2, regnet, dpn, cspnet, cspnet, y más. Por lo general, se llama
timm . - https://modelzoo.co/ Model Zoo
- https://github.com/tensorflow/models
- Magenta: Generación de música y arte con inteligencia de máquinas
- https://github.com/phillipi/pix2pix Image-to-image traducción utilizando redes adversas condicionales; Puerto TensorFlow de PIX2PIX; Mira la presentación de este trabajo: aprender a ver sin un maestro
- WAV2Letter Facebook AI Research's Automatic Disco Tool Toolkit
- https://github.com/huggingface/Transformers Estado-of-the-art
- https://github.com/huggingface/diffusers? Difusores: modelos de difusión de última generación para la generación de imágenes y audio en Pytorch
- https://bigscience.huggingface.co/blog/bloom Abra el modelo de lenguaje grande de BigScience LLM. Artículo
- https://github.com/hpcaitech/colossalai artículo
- https://stability.ai/blog/stable-diffusion-public-release La difusión estable es un modelo que puede generar imágenes de alta calidad a partir de descripciones de texto breves. Aquí hay un breve hilo de Twitter que explica por qué funciona tan bien. Y aquí hay un hilo que contiene recursos para aprender más sobre los modelos de difusión.
Ingeniería rápida
Los modelos de idiomas grandes (LLM) como GPT-3 son potentes, pero deben ser solicitados que generen la salida deseada. Aquí es donde entra en la ingeniería rápida. La ingeniería rápida es el proceso de diseño de indicaciones que se pueden utilizar para generar la salida deseada.
- https://github.com/hwchase17/langchain Es un paquete de Python para construir aplicaciones con LLM a través de la composición.
- https://dust.tt/ Una herramienta basada en la web para diseñar e implementar aplicaciones de modelos de idiomas grandes.
- https://github.com/jerryjliu/gpt_index GPT El índice es un proyecto que consiste en un conjunto de estructuras de datos que se crean usando LLM y se pueden atravesar utilizando LLM para responder consultas.
- https://github.com/xpitfire/symbolicai/ Biblioteca de programación diferenciable compositiva: creando aplicaciones con LLM en su núcleo a través de nuestra API simbólica aprovecha el poder de la programación clásica y diferenciable en Python.
Buenos blogs y vlogs a seguir
- https://www.pyimagesearch.com/ Blog frecuentemente actualizado sobre OpenCV y aprendizaje profundo
- http://colah.github.io/ Buenas explicaciones con hermosas visualizaciones
- https://karpathy.github.io/ ha enseñado algunos cursos sobre redes profundas y solía trabajar en Tesla como director de IA.
- http://ruder.io Sebastian Ruder Deep Learning and NLP Blog
- http://www.wildml.com/
- https://machinelearningmastery.com/ contiene mucho contenido y hermoso sitio web
- Listas de reproducción de YouTube de Sirajology Muchas de densa introducción hilarante a ML
- Papeles de dos minutos en la lista de reproducción de aprendizaje profundo
- Distill.pub Un medio moderno para presentar investigaciones en aprendizaje automático
- Deeplearn.org Monitor de aprendizaje profundo; Noticias sobre documentos de aprendizaje profundo y tweets
- Blog de dataRevenue sobre MLOPS en su mayoría
- https://www.youtube.com/c/andrejkarpathy Andrej Karparthy creó un nuevo canal de YouTube después de que dejó el equipo de Autopilot de Tesla para enseñar a las personas cómo implementar redes neuronales en estilo "deletreo".
- https://e2eml.school/blog.html Blog de aprendizaje automático de extremo al final que cubre muchos temas en detalle, por ejemplo, cómo funcionan los transformadores.
- https://jalammar.github.io/ Visualización del aprendizaje automático Un concepto a la vez. Su blog contiene explicaciones ilustradas de conceptos de ML como transformador o difusión estable.
- Blog de Radek Osmulski Él bloguea sobre técnicas y estrategias DL que puede aprovechar para aprender más rápido.
Gente impactante
- Geoffrey Hinton, ha sido llamado el Padrino del aprendizaje profundo al presentar 2 técnicas de revolucionar (Relu y deserción) con sus alumnos. Estas técnicas resuelven el problema de gradiente y generalización de las redes neuronales profundas.
- Yann Lecun, inventó CNN (redes neuronales convolucionales), el tipo de red que es realmente popular entre los desarrolladores de visión por computadora hoy en día. Actualmente trabajando en Meta.
- Yoshua Bengio another serious professor at Deep Learning, you can watch his TEDx talk here (2017)
- Andrew Ng he discovered that GPUs make deep learning faster. He taught 2 famous online courses, Machine Learning and Deep Learning specialization at Coursera. particular type of RNN)
- Jeff Dean, a Google Brain engineer, watch his TEDx Talk
- Ian Goodfellow, he invented GANs (Generative Adversarial Networks), is an OpenAI engineer
- David Silver this is the guy behind AlphaGo and Artari reinforcement learning game agents at DeepMind
- Demis Hassabis CEO of DeepMind, has given a lot of talks about AlphaGo and Reinforcement Learning achievements they have
- Andrej Karparthy he teaches convnet classes, wrote ConvNetJS, and produces a lot of content for DL community, he also writes a blog (see Nice Blogs & Vlogs to Follow section)
- Pedro Domingos he wrote the book The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World , watch his TEDx talk here
- Emad Mostaque he is the founder of stability.ai, a company that releases many open source AI models including Stable Diffusion
- Sam Altman he is the president of OpenAI, a company that releases ChatGPT
Cutting-Edge Research Publishers
Steal the most recent techniques introduced by smart computer scientists (could be you).
- http://www.arxiv-sanity.com/ Arxiv Sanity Preserver
- https://research.facebook.com/ai/
- http://research.google.com/pubs/MachineIntelligence.html
- https://deepmind.com/research/ Research of DeepMind company
- https://www.openai.com/
- https://www.openai.com/requests-for-research/
- State of the art performance on each ML task
- State-of-the-art result for all Machine Learning Problems
- https://stability.ai/ is releasing a lot of open source high-quality models.
- https://twitter.com/ai__pub AI papers and AI research explained, for technical people.
- https://twitter.com/_akhaliq is a Twitter account that tweets the latest research papers in the field of AI.
Practitioner Community
- https://www.kaggle.com
- https://gym.openai.com
- https://universe.openai.com/
- /r/MachineLearning
- https://www.facebook.com/groups/DeepNetGroup/
Thoughtful Insights for Future Research
- Why AI is Harder Than We Think
- The Consciousness Prior by Yoshua Bengio
- What Can't Deep Learning Do? a list of problems that deep learning faces
- Pedro Domingos: "The Master Algorithm" - Talks at Google
- The AI Revolution: The Road to Superintelligence
- https://ai100.stanford.edu/2016-report
- Why does Deep Learning work so well? - The Extraordinary Link Between Deep Neural Networks and the Nature of the Universe
- These are three of the biggest problems facing today's AI
- Four Questions For: Geoff Hinton Geoff Hinton is referred to as "godfather of neural networks"
- What product breakthroughs will recent advances in deep learning enable? - Quora
- Liquid Neural Networks
Sin categoría
- Artificial Intelligence: A Modern Approach (Online Book)
- The Principles of Modern Game AI
- Scipy Lecture Notes
- https://www.youtube.com/user/aicourses
- The Fundamentals of Neuroscience learn how our brain works so that you can discover new deep learning breakthrough
- Bayesian Methods for Hackers An introduction to Bayesian methods + probabilistic programming with a computation/understanding-first, mathematics-second point of view. All in pure Python ;)
Other Big Lists
- https://github.com/ahmedbahaaeldin/From-0-to-Research-Scientist-resources-guide This guide is designated to anybody with basic programming knowledge or a computer science background interested in becoming a Research Scientist with on Deep Learning and NLP.
- https://www.mrdbourke.com/ml-resources/ Machine Learning Courses & Resources recommendation by Daniel Bourke
- List of MLOps Courses and Books by Damien Benveniste on Facebook
- https://github.com/collections/machine-learning
- https://github.com/topics/machine-learning
- https://github.com/topics/mlops
- https://github.com/GokuMohandas/MadeWithML Join 30K+ developers in learning how to responsibly deliver value with ML.
- https://papers.labml.ai/papers/daily
- https://github.com/alirezadir/Production-Level-Deep-Learning
- https://github.com/jindongwang/transferlearning
- https://github.com/kmario23/deep-learning-drizzle
- https://github.com/ZuzooVn/machine-learning-for-software-engineers
- https://github.com/josephmisiti/awesome-machine-learning
- https://github.com/ujjwalkarn/Machine-Learning-Tutorials
- https://github.com/terryum/awesome-deep-learning-papers
- https://github.com/ChristosChristofidis/awesome-deep-learning
- https://github.com/Developer-Y/cs-video-courses#machine-learning
- Deep Learning Resources by Jeremy D. Jackson
- https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap
- https://github.com/aikorea/awesome-rl Awesome Reinforcement Learning
- https://github.com/artix41/awesome-transfer-learning Awesome Transfer Learning
- https://github.com/heejkoo/Awesome-Diffusion-Models Awesome Diffusion Models
- https://github.com/Renumics/awesome-open-data-centric-ai Data-centric AI is the practice of systematically engineering the data used to build AI systems.
- https://github.com/labmlai/annotated_deep_learning_paper_implementations
- https://github.com/ashishpatel26/500-AI-Machine-learning-Deep-learning-Computer-vision-NLP-Projects-with-code
I am confused, too many links, where do I start?
If you are a beginner and want to get started with my suggestions, please read this issue: #4
Descargo de responsabilidad
From now on, this list is going to be compact and opinionated towards my own real-world ML journey and I will put only content that I think are truly beneficial for me and most people. All the materials and tools that are not good enough (in any aspect) will be gradually removed to combat information overload, including:
- too difficult materials without much intuition; impractical content
- too much theory without real-world practice
- low-quality and unstructured materials
- courses that I don't consider to enroll myself
- knowledge or tools that are too niche and not many people can use it in their works eg deepdream or unsupervised domain adaptation (because you can Google it if you want to use it in your work).
- tools that are beaten by other tools; not being state-of-the-art anymore
- commercial tools that look like it can die any time soon
- projects that are outdated or not maintained anymore
NOTE : There is no particular rank for each link. The order in which they appear does not convey any meaning and should not be treated differently.
How to contribute to this list
- Fork this repository, then apply your change.
- Make a pull request and tag me if you want.
- Eso es todo. If your edition is useful, I'll merge it.
Or you can just submit a new issue containing the resource you want me to include if you don't have time to send a pull request.
The resource you want to include should be free to study.