¿Cuál es la mejor herramienta para aprender redes neuronales?

Soy un gran usuario de R y estoy un poco sesgado hacia él. Es realmente doloroso para mí cuando digo esto, pero para Neural Nets ve con Python. Además de ser extremadamente flexible y tener una sintaxis fácil de usar, las razones para recomendarlo se enumeran a continuación:

  1. Es gratis
  2. Capacidad para representar visualizaciones estéticamente agradables
  3. Bibliotecas de aprendizaje profundo evolucionadas: aquí es donde R pierde con Python. Aunque hay algunos paquetes de aprendizaje profundo que intentan implementar ANN en R como H2O y todo, pero la mayoría de los marcos de vanguardia proporcionan API para conectarse a Python. Ya sea el lanzamiento reciente del gimnasio de OpenAI (aunque eso es más para el aprendizaje de estilo de refuerzo) o TensorFlow.

Theano es el nivel básico para DL que le permite sintonizar a mano y personalizar los detalles esenciales de las redes neuronales, como el número de capas, el número de nodos, las funciones de activación, etc. Si no está dispuesto a manejar demasiados detalles y desea un poco de abstracción, use Keras, Lasagne, etc. Básicamente, simplifican la sintaxis y la interfaz para las ANN a expensas de la expresividad.

Todos tienen una integración perfecta con cuDNN, que es una biblioteca de primitivas acelerada por GPU para redes neuronales profundas. cuDNN proporciona implementaciones altamente ajustadas para rutinas estándar como convolución hacia adelante y hacia atrás, agrupación, normalización y capas de activación.

Puede explorar Caffe, Torch, etc., según lo que necesite, más adelante a medida que adquiera más experiencia.

Hay principalmente 4 marcos que generalmente se utilizan para el aprendizaje profundo:

  1. Cafe
  2. Antorcha
  3. Theano
  4. Tensorflow (mantenido por Google y ahora es el marco de aprendizaje profundo preferido por la industria)

Cada uno tiene sus propios pros y contras. Puedes mirar las siguientes comparaciones y elegir por ti mismo

zer0n / deepframeworks