Bien, ahora que has hecho las teorías, ahora es tiempo de práctica,
Mi plan era formar un MLP simple sobre un ConvNet y luego arquitecturas clásicas como Alexnet, LeNet, etc. Pensé en comenzar con Theano para ser forzado a codificar en un nivel bajo.
Esa es una muy buena idea y tu amigo también tiene razón, Caffe2 es genial. La decisión final es suya, ya que recién está comenzando con el lado práctico de las redes neuronales (NN), es importante no insistir mucho sobre qué biblioteca usar. Mi consejo es que intente rápidamente tantas bibliotecas como pueda y vea cuál, naturalmente, lo hace sentir cómodo, luego quédese con ella.
- ¿Qué es un agente de inteligencia?
- Cómo aprender IA para mi juego
- ¿Cómo puede un más nuevo conseguir un trabajo en IoT, AI, ML o big data si es de una universidad de ingeniería de nivel 3?
- ¿Qué tan rápido crearíamos inteligencia artificial inteligente si basamos a toda la sociedad en el diseño de tecnologías de inteligencia artificial?
- ¿Cuál es la próxima especie que desarrollará la autoconciencia?
Personalmente, normalmente no me preocupa mucho mi biblioteca de elección. Aunque a veces me gusta jugar con TensorFlow.
Mi comienzo fue un poco extraño, así es como empecé:
En 2009, cuando me presentaron a C ++ y cuando el único programa que escribí fue solo:
cout << "¡Hola mundo!";
Decidí perseguir un sueño mío de la infancia, que era sobre robots, así que el primer paso fue dar vista a las máquinas, así comencé mi propio proyecto con el objetivo de construir un sistema de visión por computadora (CV) muy eficiente y robusto para dispositivos móviles. , sistemas embebidos y robóticos. No tenía idea de cómo construir un sistema de CV. Así que pasé mucho tiempo leyendo revistas de visión por computadora y neurociencia, era un estudiante universitario de ingeniería electrónica en ese momento, así que usé las habilidades de ingeniería matemática para comenzar rápidamente, así que las matemáticas no fueron / no son un problema para mí. También he ampliado aún más mis habilidades matemáticas más allá de las matemáticas de ingeniería :).
Me tomó 4 años enseñarme todo sobre la visión por computadora y la programación en C ++ y Java, y construir mis propios algoritmos CV nuevos. Condensé todos esos 4 años de trabajo duro continuo en una biblioteca de CV muy compacta y eficiente. Después de terminar esa biblioteca, construí una aplicación panorámica automatizada, Bimostitch, para Android que compitió directamente con la aplicación AutoStitch, antes de que AutoStitch fuera desactivado cuando Google adquirió CloudBurst (Desarrollador de AutoStitch), todavía estoy esperando a Google para adquirirme :).
Seguí haciendo mejoras en el sistema CV a través de los comentarios de los usuarios a través de la aplicación panorámica para mejorarlo cada vez más. En ese momento, me preocupaba mucho la artesanía de todo, hasta que comencé a leer mucho sobre los enfoques de aprendizaje automático aquí en Quora y en revistas de investigación de Google, Facebook, Microsoft y otros. Comencé a notar que la artesanía estaba pasada de moda, con redes neuronales convolucionales (convNets) se puede hacer un reconocimiento de imagen notable, por lo que me impulsó a profundizar en ML. Sentí mucha curiosidad sobre cómo puedo hacer un buen uso de los algoritmos de ML en mi biblioteca de CV.
Así que comencé un nuevo proyecto llamado IRIS, abreviatura de sistema integrado de reconocimiento e inferencia, en lugar de usar otras bibliotecas para implementar modelos de ML, decidí expandir mi biblioteca de CV para incluir esos módulos de ML, como las redes neuronales profundas (DNN) y muchos otros. como máquinas de vectores de soporte. Eso significa que actualmente mi biblioteca es una biblioteca de CV / ML ahora, puedo construir módulos de ML locos a voluntad con ella, así que estoy a punto de terminar el nuevo sistema de visión basado en ML y bloguearé al respecto y haré videos de demostración en aproximadamente 2 meses desde ahora.
Ese fue el desafío para mí, así es como me enamoré de CV y ML.
Entonces, para aprender, normalmente comienzo un proyecto real tratando de resolver un problema real. Aprendí la visión por computadora al construir un sistema de visión por computadora real desde cero y aprendí sobre ML al construir un sistema de ML real desde cero.
Mi aplicación panorámica se ha descargado unas 200K veces en todo el mundo con una calificación de 4.2 / 5. Es una aplicación de puntadas panorámicas de última generación, aunque el nombre y la apariencia pueden decir lo contrario. Es realmente más de lo que parece. Espero que el sistema IRIS también haga maravillas, su diseño es un poco diferente de los sistemas de visión convencionales basados en ML.
No le recomiendo que cree sus propias bibliotecas como lo hice, y todavía lo estoy haciendo, porque es mucho trabajo, pero seguramente le da a uno una comprensión realmente más profunda de los campos de CV / ML. Entonces, si realmente desea conocer los NN más profundamente, al menos cree un modelo NN desde cero, usar una biblioteca de álgebra lineal para ayudar no es una trampa aquí. De hecho, te animo a que uses solo una biblioteca de álgebra lineal para implementar tu NN desde cero. Comience con el NN multicapa totalmente conectado, implemente backprop y luego extienda a redes neuronales convolucionales.
Pero no veo nada malo en su enfoque, quédese con lo que está funcionando para usted.
Espero que esto ayude.