¿Amazon Web es una buena alternativa para que yo use redes neuronales si mi computadora no tiene suficiente energía?

En primer lugar, ¿su computadora tiene una GPU (tarjeta gráfica) y, de ser así, la usa?

De hecho, las redes neuronales son extremadamente caras de entrenar en CPU, especialmente las grandes necesarias para trabajar con imágenes.

Si su tarjeta gráfica es lo suficientemente moderna, busque entrenar sus redes neuronales con su GPU, utilizando CUDA (Torch, Keras, Tensorflow, Theano, Caffe, todo lo admite)

Si no tiene una GPU, definitivamente estará limitado, en cuanto a velocidad, para entrenar redes neuronales. AWS es una solución, pero agrega mucha complejidad para entrenar los modelos en la nube, lo que puede ser un problema si está comenzando. También puede ser costoso bastante rápido, especialmente para instancias de almacenamiento y GPU. Cuando no sabes lo que estás haciendo, la factura aumentará muy rápidamente …

Finalmente, mencionas SVM. Sí, tienden a ser muy costosos computacionalmente cuando el conjunto de datos se hace grande. Muy pocas personas los usan hoy en día porque el conjunto de datos promedio se ha vuelto tan grande. Pero si está experimentando con SVM, ¿eso significa que está trabajando con datos tabulares? (es decir, no imágenes, sonidos, etc.). En ese caso, las redes neuronales no encajan realmente de todos modos. Pueden funcionar, pero probablemente obtendrá mejores resultados con árboles, como bosques aleatorios o árboles potenciados (xgboost …), o incluso modelos lineales, siempre que los datos se procesen previamente correctamente.

Las redes neuronales brillan ante datos más complejos, como imágenes o sonidos, que no pueden representarse bien en forma tabular.

Yo diría que sí. Sigue siendo un acuerdo de reparto; y es bueno en cierto sentido. Usted arrienda una VM por ‘x’ horas y paga solo las ‘x’ horas en una tarifa fija para el sabor particular de la VM que hizo girar. Bien de hecho. De esta manera, puede probar muchos sabores de máquinas virtuales y finalmente conformarse con uno que se adapte a sus necesidades.

Además, existe un concepto de Amazon Machine Image (AMI) en el que puede activar instancias basadas en imágenes existentes de un entorno. Por ejemplo, hay una imagen NVIDIA DIGITS que tiene todos los controladores NVIDIA y DIGITS preinstalados. Podría activar una instancia basada en el AMI y básicamente olvidarse de configurar el entorno usted mismo (que a veces puede llevar mucho tiempo). Para agregar a eso, también puede comenzar con una imagen de Ubuntu Trusty o algo similar y agregarle sus propios paquetes. Digamos que si desea instalar sklearn, tflearn, keras, theano, etc., podría hacerlo, y más tarde, una vez que haya terminado, puede guardarlo como un AMI para que pueda usarlo en el futuro sin preocuparse por configurar su entorno cada vez.

Los proveedores de la nube también tienen canales de aprendizaje automático integrados en sus servicios. Amazon ML, Azure ML, etc. son algunos ejemplos. Sin embargo, para alguien que está comenzando a explorar el suyo propio, supongo que AWS es un buen lugar para comenzar, ya que ofrece una variedad de sabores para elegir en un rango de precios asequibles, sin olvidar mencionar los AMI.

¿Su computadora tiene una CPU multinúcleo?

Si es así, recomiendo H2O. Aprovecha esos múltiples núcleos y funciona bastante rápido. (Puede ejecutarse bajo AWS pero puede ejecutarse en una computadora portátil decente).

Es fácil de instalar (al menos para Mac. Lo estoy intentando en Windows ahora). Tiene interfaces para R, Python, Java y Scala.

Apoya:

  • aprendizaje profundo (redes neuronales)
  • gbm (aumento de gradiente)
  • Bosque al azar
  • GLM (modelo lineal generalizado)
  • K significa
  • Bayes ingenuos

Funciona ejecutándose como un servidor Java.

Probablemente sea exactamente lo que desea para aprender y no le costará nada (en comparación con AWS).

Si usa redes neuronales y planea usarlas durante mucho tiempo, le recomiendo que compre una máquina GPU para una máquina local porque AWS se volverá muy costoso rápidamente. Si solo necesita entrenarlo de manera única, AWS está bien, solo tenga cuidado con el paralelismo que es muy difícil de hacer (debe usar SGD de 1 bit, que es altamente no trivial) debido a la instancia débil a la instancia red.

Por lo tanto, asegúrese de usar las instancias K80 (consulte Nuevo tipo de instancia P2 para Amazon EC2: hasta 16 GPU).

Todavía te recomiendo que uses una máquina local si planeas entrenar mucho y constantemente.

Dependiendo de lo que quieras hacer, puede ser una buena idea o una mala.

Si usa el nivel gratuito, al menos por un tiempo, y sus datos son lo suficientemente pequeños, puede ser una buena idea ( aunque no tiene mucha potencia de esta manera , probablemente menos que su actual). Por supuesto, tendrá que configurar un entorno para trabajar si desea que sus hallazgos se traduzcan … dependiendo de cuánto sepa sobre Docker y Linux, esto puede llevar más tiempo del que desea.

El uso de AWS sin pasar por este paso adicional puede ser contraproducente, ya que aprenderá cómo usar las ofertas de AWS y posiblemente no podrá replicar su trabajo en otro sistema.

Y AWS, como todas las ofertas en la nube, puede ser costoso dependiendo de lo que quiera hacer con él.

Mi computadora portátil actual no está a la altura de lo que me gustaría: la compré hace casi 3,5 años. Honestamente, no era lo que quería entonces. Su GPU apenas hace el corte para ejecutar Theano con CUDA, y no puedo usar CUDA para TensorFlow. Sin embargo, puedo hacer lo que estás describiendo fácilmente.

Una pregunta: ¿estás ejecutando Windows? Si es así, es posible que desee aprender a usar Linux, al menos un poco, y el arranque dual. Windows tiene tanta basura innecesaria (al menos en lo que respecta a mi trabajo) que no he arrancado mi partición de Windows en semanas. No puedo imaginar cuánto más lento sería mi trabajo si estuviera haciendo todo en Windows.

A menos que su computadora sea realmente vieja, debería poder ejecutar redes neuronales simples y SVM, especialmente en datos pequeños, con facilidad. Mire las ofertas en la nube, pero si se pone serio, podría ser más barato obtener una nueva computadora a largo plazo. Simplemente no ejecute Windows, y puede usar algo un poco más viejo bien.

Es un servicio, por lo que lo pagará.
Básicamente, puede alquilar una máquina en Amazon o Microsoft Azure o lo que sea, por lo que puede usar esta máquina como era suya. Esa es una buena alternativa si tienes dinero.
Otra alternativa que le recomiendo es usar una computadora vieja que pueda guardar en su casa en una caja. Instale Ubuntu en él, tensorflow, etc., y haga que funcione como servidor, déjelo en casa todo el día (o encuentre una manera de encenderlo y apagarlo de forma remota) y úselo para sus cálculos. Es realmente conveniente y no utiliza la potencia de su computadora portátil. Solo necesita internet. Incluso si los cálculos tardan mucho tiempo, está bien, ya que está usando su computadora en casa y no su computadora portátil.

Buena suerte con eso !

Utilicé AWS para ejecutar Torch para generar imágenes artísticas. Sin embargo, puede ser un poco costoso ejecutar las instancias con las GPU, solo tenga cuidado y finalice antes.

More Interesting

¿Por qué el uso de información mutua / ganancia de información / funciones similares funciona mejor que simplemente usar el error promedio (usando probabilidad) para un booleano (conjunto de datos de 2 clases) al construir un árbol de decisión?

¿Las redes neuronales son solo clasificadores lineales vinculados con no linealidades?

¿Cuándo necesitamos tener un mayor número de unidades ocultas que el número de unidades de entrada y viceversa?

¿Cuál es la mejor manera de combinar datos clínicos y de imagen en un enfoque de aprendizaje profundo?

¿Qué debo hacer si determino que los resultados de mi conjunto de datos de entrenamiento difieren mucho de los resultados de mi conjunto de datos de prueba?

¿Cuál es la explicación de la fórmula de compensación de Bias Variance?

¿Cuál es un buen proyecto de aprendizaje automático para aprender Python?

¿Es legal el raspado web para hacer aprendizaje automático?

¿Qué factores se basan en comenzar un gráfico de dibujo de una red bayesiana?

¿Cuál ha sido la experiencia de la gente con RapidMiner?

Cómo optimizar la clasificación de varias clases si ya conozco el número de ocurrencias de cada clase en el conjunto de datos de prueba

¿Cómo decidimos la clase de clústeres generados a través del clúster k-means?

¿Qué significa realmente el aprendizaje automático en términos reales?

Codificación dispersa: ¿cuál es la implementación paso a paso para la codificación dispersa? ¿Qué representa la norma l0 / norma l1 / regularización?

Cómo construir un generador de lenguaje natural