Completing Andrew Ng's Machine Learning Course on Coursera | 100 Days of Code 12

Daniel Bourke finishes Andrew Ng's 11-week Stanford Machine Learning course on Coursera and explains DCGANs (Deep Convolutional Generative Adversarial Networks) with analogies. He shares his study setup with Anki flashcards, attends a Brisbane AI meetup, and outlines his workflow across blog posts, podcasts, and Medium.
Chapters
Check it out, guys. Day 55 of the 100 Days of Code series. As you can probably tell, I was learning about Python today. And if you're wondering why my screen's so orange, it's probably because of Flux. Now, what Flux does is it takes out the blue light of your screen. So as you can see, it's 9:54 PM where I am, so I'm about to get ready for bed. And so taking the blue light out of your screen late at night helps to, I don't know, helps with sleep. I don't know the science behind it. Something to do with, I'm guessing with a fire maybe because humans as we evolved sort of, we all spent time in tribes next to fires. So maybe that's why having an orange screen is good, but I don't know for sure. What I learned today, I did a whole bunch of Python, went over some notes I took in the past from when I started Python and added to my flashcard system, which is called Anki. I'll put a link in the description for all of this stuff, by the way. That's my Medium series. You can check that out on Medium. But yeah, there's Python, Anki, flashcard software, amazingly good, helps with spaced repetition. And yeah, I was learning about regular expressions in Python. So regular expressions, from my understanding, you can use them to sort through like a text document and pull out important details. Contacts, emails, names, addresses, whatnot. And I'm hoping in the future it can be something that you can use for pulling data from websites, because I think that'd be really handy. I know you can use Python for that. I just haven't learned about it yet. And another thing to finish off the night, I've been looking at Ray Dalio, actually read his book Principles. I've got it here. I think you can find it online somewhere. He made it available in 2018. 11, I believe. And so yeah, as you can see, I'm taking some notes here. Ray Dalio principles, some awesome YouTube videos. I'll link them in the description as well. But just have an amazing time learning from the best. He's worth $16 billion, has his own hedge fund, one of the biggest in the world, and all-around amazing guy. But I'm about to do some reading, go to bed. Tomorrow is, I think, week 10 of machine learning, so I'll see you then. Check it out, y'all. I just finished Machine Learning by Stanford University and Andrew Ng on Coursera. 11 weeks of courses done in about, I don't know, 10, 9, I can't remember how long, but finally finished. And well, not finally finished. I'm excited. I learned an incredible amount through that course. But that being said, it's not the end. I've still got my deep learning Nanodegree to go. I've still got the Treehouse Python track that I'm working on. And then I've got a whole bunch of planning to do to create my own data science slash, slash artificial intelligence master's degree over there for the rest of this year at least. But welcome back to day 56 of the 100 Days of Code. Check out all this. I just finished the last lecture. So summary and thank you. Andrew's an amazing teacher, by the way. I highly recommend this course. These are all my notes. 11 weeks of course notes plus a massive Evernote document all the way back to week 1. I should have put the date there so I know when I started. Oh well. Question is, what do I do for the rest of the day? Because I feel like that's a major, a major accomplishment. I don't know. I think I'm going to review some Python that I've done. I've also got to— I'm going to edit a vlog as well. Get that uploaded tomorrow. Remember, every Friday I release new vlogs. Oh, and I'm going to do some notes on— finish off the notes I was doing on Ray Dalio's Principles book and get a podcast out and get a blog post out for you guys as well. So I'll, I'll link them in the description. I think this video should be out— no, all that stuff I just said should be out before this video is. But stay tuned. I'm going to do a blog post later this week as well detailing what I'm doing to learn or how I'm— how I've been learning deep learning and machine learning so far in 2017. And check out my Medium series, guys. I always update that every day of what I've learned during the day. And so you can follow along and whatever. I'll put that in the description as well. But that's it. That's a wrap for day 56 of 100 Days of Code. We'll catch you tomorrow. Day 57. What's going on? Okay, so wait, I just realized that I say what's going on every clip. So I gotta sort of cut that out and work out how to transcend better from clip to clip, but I'll work that out. So it's epically raining today where I live. Check this out. Oh, look at that ibis. I got distracted. So it's wet outside. Perfect day for study if you ask me. I'm doing some work here on Anki. I've got Python. I added some new cards in there yesterday. I've got about 15 new cards due. My trackpad is dead. I need new batteries. There's no batteries in the house. And I'm also working on some podcast notes here for episode 107. So what I've learned from speaking to people, not the topic itself, like, uh, not going to be the title of the show. Maybe it will, I'm not sure, but it inspired me from— I got inspired actually from last night. I went to a meetup in my hometown called the Brisbane Artificial Intelligence Meetup. So shout out to everyone that goes to that. And I went by myself and I was trying to convince my brothers to come along and I don't know, cause I was like, joy is— these moments are best experienced when they're shared, right? And so I'm like, that's alright, I'll go there and I'll meet some people who are interested in the same stuff I am. And I was walking around in the crowd and I couldn't believe it. Like, I was there by myself, about 100 people there eating some food, and the one person I start talking to, like, he was standing by himself, I decided to talk to him, was the host of the, of the talk. So shout out to David if you're watching this, unlikely, but doing some amazing stuff with evolutionary algorithms, which I didn't even have any idea about before I went. I should have maybe done some research before I went, but the talk was amazing and I don't know, I really had a good time and I got David's card and he said to reach out to me if I was interested in potentially some casual project work in the future. Nothing may come of it, but that's alright. Like, that's the thing, right? You never know. You go to these things and you speak to someone and you never know who you might talk to. So, I think they're valuable in small doses. That being said, like, when you're starting out like me, say yes to almost all of these events, but if you're sort of working on something and you know what you want to work on, say no to all those events and just work on what you want to work on. But I think the major, major key for me, like, going to these sort of things is finding people, making relationships with the people that are interested in the same things you are, because no doubt I'm weak in so many areas and you'll learn an incredible amount from people who are I don't know, different to you, just different. That's all you got to do. They're an expert in something you're not in, you're not an expert in. So, find what that is, learn from them and make yourself better. But I'm going to go back to learning some Python on Anki and then do a podcast and then plan out what I'm doing for the rest of the day. So, we'll see you in the next clip. I've also got to work out the outro of the clip. I don't know, I'll work this out yet. I'm still new to vlogging. I've done like 10 and Yeah. Sup yo, day 60 of the 100 Days of Code series. I haven't filmed for the last couple of days because Saturday I took the day off technology or most of the day off technology. And then Sunday I was doing some writing. So I didn't film any coding or whatnot. But today I was back into Udacity. I also started writing blog post 3, or part 3, sorry, of the How I'm Learning Deep Learning in 2017 series that I'm doing. I'll link the other 2 in the description. And probably by the time this video is up, the third one will be out as well. So check it out. It's just literally me documenting the steps I'm going through and learning deep learning, such as what I'm doing to do it, like where I'm studying it, what I'm using with it— Khan Academy, books, Treehouse, Python resources, all that sort of stuff. I'm just going to document it all, so if anyone wants to learn about it how exactly I'm doing it. That'll be alongside the Medium series I'm doing, which is blogging every day, writing what I've learned. Today I learned about DCGANs on Udacity. So, uh, Deep Convolutional Generative Adversarial Networks. That's a mouthful. Um, so yeah, GANs, uh, this revolution in deep learning, which is a massive thing that's happened only in the last couple of years actually. It involves training two neural networks and essentially getting them to work against each other. To generate some output, and it's really cool. What stuff can you use GANs for? Video generation. You can generate entirely new videos that never used to work. The way you can think of GANs is there's two networks, a generator and another one that starts with D. Not a decoder. I can't remember. G and D, just remember 1 and 2. So 1, you can imagine, is a magician and and the other one is the audience. And so the generator, which is a magician, gets better and better at creating fake data, which the, the one other, the audience has to sort of decipher and they have to try and guess whether it's real or not. And then the output of that is, is the new stuff, right? So, uh, I'll link a video in the description of Siraj explaining deep Sorry, GANs, generative adversarial networks, because he'll be able to do it a lot more better than I am. But I've done enough learning coding today. I'm going to go for a run. I've got dodgeball later tonight, but we'll see you tomorrow. I'm back into Udacity again. I'm going to keep learning about this and hopefully tomorrow I'll have a better explanation for you what exactly a GAN is. So see you soon. Check this out. It's kind of creepy, right? This is using DCGANs, or deep convolutional GANs, to transform this face facing right to this face facing left using a whole bunch of other, other faces. So it goes slowly, slowly, slowly from facing right to facing left. And now the iPhone I'm filming this on is picking all of these up as faces, so that's really cool. And The crazy thing is these are all generated by a computer. What's up guys? What you just saw was just a paper that I was reading and it's the first academic paper I've read in a while and it took me a fairly long time, at least 35 minutes and it's only about 10 pages or so long. But I was just trying to wrap my head around all the new concepts that are in there. And it's on DCGANs, which is Deep Convolutional Generative Adversarial Networks. And I learned more about GANs today through the Udacity Deep Learning Foundations Nanodegree. I know yesterday I said something about that I would come back with a bit more knowledge about GANs. Good news is I do. I remembered what the D stands for in the GAN architecture. It's the discriminator. So you've got, in a GAN, you've got two networks working against each other, a generator and a discriminator. So the generator will take in a random noise sample of data and create fake data that the discriminator will have to decipher between real samples and the fake samples that the generator produces, and that will decide what the output is. But I'm not gonna go too much into depth, otherwise this, this vlog would be way too long. But I will link an awesome article in the description that uses SpongeBob SquarePants as an analogy to describe GANs, and I think it's, I think it's really good. So I'll link that in the description, make sure you check it out. I'll also link this academic paper that I'm reading on Archive. I can't remember who it was by, let me just find that out for you. There we go. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks. That's a mouthful. By some researchers at Indico and Facebook AI Research. So really cool. I also, I've got some more diagrams here on GANs as well. So as you can see, you've got the input random noise into the generator network, and the generator creates these fake images. And you've got the real samples here that go, and the fake and the real samples go into the discriminator network, and then the discriminator chooses whether or not it's a real image. and that's the output. And so what are some outputs from a generative network? So it could create an entirely new image. So say, for example, you typed in the description of a bird, the generator network could create an entirely new image of that, of that bird. Or say, for example, I drew the outlines of a mountain. GANs have been used to sort of, by Adobe, and I believe it is called EyeGAN and Pix2Pix. I'll put a link in the description to that as well. Just drawing the outline of a picture and then using a generative network to bring up an example of what an actual real picture was. So say I drew a mountain, the outline of a mountain, like a triangle and some, some water. A GAN has been used to transform that into an actual real picture. So that's, that's cool. As well as Edges to Cats. So you could draw like the outline of a cat and it'll transfer that into a photo of a real cat. I think there was a hashtag going called #edges2cats. I'll link some examples in the description as well. But that's it for learning. I'm going to go do some jiu-jitsu. It's my first time doing it, so I'm really excited. And tomorrow is going to be all about Python and same with the next day. And I think I've got about 3 or so weeks left of this deep learning course. So we'll keep doing that and then I'll do my planning for the next 6 months and I'll be sure to hit you up about it. But catch you tomorrow.
More from Daniel

Small Language Models (SLMs) Are the Future: Fine-Tuning AI That Runs on Your iPhone

Introducing Sunny - A MedGemma-Powered Skin Health Tracking App (Kaggle Competition Entry)

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 4 - Comparing the results

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 3 - Running LLMs on the RTX 4090

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 2 - Formalizing the tests

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 1 - Creating a series of tests

Local Multimodal RAG on the NVIDIA DGX Spark | Part 4 - Publishing our demo to Hugging Face

Local Multimodal RAG on the NVIDIA DGX Spark | Part 3 - Putting it all together


