Artificial Intelligence Course Review: Tensorflow 2 and Keras Deep Learning
Everywhere you look, it’s blockchain this or AI that. Headline after headline boast about how these new technical forefronts will revolutionize society. People will be more connected while all of our challenges are handled by robots. The new world will be revolutionized once again. And I for one am fascinated by it.
So, I decided it was time to dive in to learn more. As a computer scientist by profession, it felt only right to take on AI through a developer's lens. I opted for the course “Tensorflow 2 and Keras Deep Learning” by Jose Portilla. This course promised to teach all about different deep machine learning models.
This included topics such as:
In the end, I was not disappointed. This course was a great way to not only understand what may be possible with Artificial Intelligence but how to build a variety of deep neural networks.
At the end of nearly 2 months, I derived that machine learning is just dumb brute force set up with an intelligent strategy.
Essentially we set our computers to bang their virtual heads against the wall until they have an epiphany.
Through the course, Jose covers many core principles of machine learning. He utilizes common examples used in the ML industry which rely on popular datasets like the MNIST and CIFAR. Students are taken through a variety of theories and practices which are relatable and relevant.
The area I found most interesting was material covering Generative Adversarial Networks. GANs are machine learning models which pit the computer against itself. A sort of game, if you will.
On one hand, we have a generative model. This model’s goal is to create computer-generated content which will fool a second model into thinking it is sending over real-world data. The opponent consists of a classification model that is attempting to detect if the data is real or fake. By creating a competition of two adversary models, a generator is built which can create content that simulates real data.
I recommend checking out NVIDIA and Stanford’s latest GAN. Amazingly, it can create deep fake images of faces without any input. The detail is amazing. (https://www.marktechpost.com/2022/01/05/researchers-from-stanford-and-nvidia-introduce-a-tri-plane-based-3d-gan-framework-to-enable-high-resolution-geometry-aware-image-synthesis/)
Recommended by LinkedIn
The Not So Good
Let’s start with the shortcomings of this course so we can end on a high note.
To be honest there isn’t much that I didn’t like about this course. And although it was close to great, I had a few complaints. I found Jose spent time stressing points for topics that the student should already know or could have figured out on their own. For example, in multiple modules, the instructor would go into detail about file paths.
On the other hand, the course was also light for some advanced topics. As we progressed into the complex network structures, such as the GAN, the content lacked detail. It glazed over important finer points and made assumptions the student would quickly pick up the multifaceted algorithms. To boot, these advanced model modules did not include assignments as they had for the more simple models. I appreciate the assignments as it sets the student on their own path to build something from scratch. As well, they assist in the solidification of concepts.
The Good
The course started with reviewing the required baseline Python knowledge needed to understand Keras code. After the review, it advanced at a rate that kept the student challenged and yet progressing. Each topic compounded on previous topics as one would hope. The pace was reasonable and comfortable.
The instructor Jose is easy to understand and he speaks confidently about the topics in every module. His experience leads to well-thought-out explanations. He covered most topics in enough detail for the student to have a relatively decent level of understanding.
Lastly, each module is laid out into two sections; theory and practice By taking time to understand the theory, the code structure is logical and allows the student to abstract away less important information while focusing on the key points of code blocks. In the end, a deeper understanding is made.
To conclude, I give this course 4.5 stars. It contains a ton of great content, with relevant examples. For anyone considering the course, I would recommend having some background with Python, especially with Pandas Dataframes and Numpy arrays. They are used extensively.
For generations, we have advanced as a civilization through science. Hypothesize, test, and observe. Now with machine learning, we are discovering things we would have never seen before. Our computers, with great computational power, are figuring out solutions for our problems on their own.
I’m excited about how AI and machine learning continue to evolve. My next challenge is to take on a video manipulation project involving the training of a recurrent convolutional autoencoding model. If you have any experience or interest in the field, let’s connect for a chat.
#machinelearning #ai #yyctech #coursereview #learning #continuededucation #technology #software #neuralnetworks #gan