0

I am completely new to AI. As the title says, is it possible to build a facial recognition system using a multi-layered DNN? Would this be effective/practical?

I want to implement such a neural network in Python, without the use of any external libraries. I can predict that the operations would be too slow, so using numpy would be a must.

nbro
  • 39,006
  • 12
  • 98
  • 176
Anm
  • 103
  • 2

1 Answers1

1

Yes, it is totally possible.

It's useful to fully understand the math and functionality of NN's. Additionally, if doing it correctly, your whole DNN should only make up to a few hundred lines of code. Yet, there a few things to keep in mind, respectively you have to be capable of.

  • For fast training and real-time usage usage, GPU calculation is STRONGLY recommend (Yet, it also works without, just a lot slower. For learning to program it though, the CPU is better. I also started programming it on a CPU, but eventually I had to switch to GPU)

  • You have to teach yourself the math, especially for the backpropagation algorithm. This mainly includes multidimensional functions, partial derivatives. 3Blue1Brown has a small series where he explains a simple DNN with it's math in great detail. Also http://neuralnetworksanddeeplearning.com/chap1.html is a great article where the first 2 chapters explain everything in great detail.

  • It's tedious and hard at first. Especially when you go deeper and try to implement more complex algorithms like LSTM yourself. If you want to really go in to AI you should do it. If it's a one or two time thing, just use libraries.

nbro
  • 39,006
  • 12
  • 98
  • 176
  • Thank you, 3b1b was actually one of my primary sources. Would you suggest an OOP approach to DNNs? – Anm Jan 04 '23 at 02:49
  • 1
    I don't see any reason why not. Not using an OOP would make it unreasonable harder in my opinion. Especially when you try to combine your DNN code to actually use it for applications. – Johannes K. Jan 04 '23 at 03:50