Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Von alle Teilnehmenden wird erwartet, dass sie ein Leistungszertifikat oder ECTS anstreben bzw. am Ende des Kurses die Bedingungen dafür erfüllen. Dies sind die folgenden drei Bedingungen:
At the Course Kick-Off event from opencampus.sh you will get an intro to the opencampus.sh community, and you will meet your course instructor, can ask questions about the participation in the course, and get helpful information to prepare for the start of the course. The attendance at the Kick-Off is not mandatory but recommended for all participants.
folgende Themen behandeln:
Overfitting und Regularisierung
Interaktionseffekte
Modellgütekriterien
Einführung in neuronale Netze
zur Definition und Schätzung von Neuronalen Netzen für unterschiedliche Beispieldatensätze
für die Auswirkung von Overfitting und Regularisierung
folgende Themen behandeln:
VSCode und GitHub Code Spaces
KI-unterstützte Programmierung
Darstellung von unterschiedlichen Datenstrukturen
Einlesen von Daten aus externen Quellen
Diagramm- und Skalentypen
Optionale
für die grafische Darstellung von Daten
Frequently Asked Questions
The following two courses are in German:
Einführung in Data Science und maschinelles Lernen
Maschinelles Lernen für die Medizin
All other courses are in English.
Yes, the courses are not overlapping. Feel free to choose all courses you like. Be aware that to complete each course, you have to do a project for each course.
We will be glad to have you with us during the whole week if you have time! However, with our offer growing bigger, here there is a suggestion: please try to take into account the time effort that each course will take (~5 hours per week per course) and select the courses which fits your schedule in the current semester instead of just applying for all the courses. If you are not sure about which one to apply to, contact us or come to the If courses are sequential, it is usually good practice to take them one semester after the other, not both of them at the same time.
Ask your professors/Prüfungsamt before the courses start and clarify with them whether the course will be recognised or not. At the CAU Kiel the courses are accepted as "Wahlpflichtmodule" via the "Zentrum für Schlüsselqualifikationen". At the FH Kiel and the Muthesius Kunsthochschule Kiel the courses are accepted in many study programs as well. However, each faculty and department has their own rules. So please, check with your local institution.
Once you completed a course and fulfilled the , you will get a certificate from us. This takes up to 4 weeks after the course completion. After you get a certificate from us, you can use this to get the ECTS (for CAU Student this is an automated process). In order to see the ECTS in your profile, it will take some additional time, usually around 2 to 4 weeks more.
Yes, for all courses offered at the moment, it is possible to receive ECTS. However, the number of ECTS granted varies between 2.5 ECTS and 5 ECTS. Please, check the individual course descriptions for the respective ECTS.
We do not give grades for any of the courses on opencampus.sh. You can only pass or fail the requirements of the course to receive ECTS.
Unfortunately, not yet. We are working on this. For the moment, please create an account on all the platform you need. Using the same e-mail adress is probably the best option also for us to be sure to be able to help you quickly in case of any trouble.
All students which needs to get access to the Coursera contents because of their course will receive an invitation to the Opencampu.sh Unlimited program on Coursera, which will allow you to get access to all courses on the Coursera plaftorm for free. You will be invited via mail and you need to confirm. Please check the spam. In case you used a different e-mail account on Coursera, contact your course teacher and you will be added manually.
Schaut die ersten drei Videos des Abschnitts „The problem of overfitting von Woche 3 des Kurses Supervised Machine Learning: Regression and Classification auf Coursera: - (12 Minuten) - (8 Minuten) - (9 Minuten)
einen Account bei erstellen.
zum Arbeiten mit Pandas durcharbeiten (nur Lektion 1).
zum Importieren von Daten als Pandas-Dataframe schauen (18 Minuten).
zum Erstellen von Visualisierungen mit Matplotlib durcharbeiten (nur Lektion 1).
(4 Minuten) anschauen, um die Relevanz von Konfidenz-Intervallen zu verstehen.
einen GitHub Codespace anlegen und dort die Dateien „kiwo.csv“, „umsatzdaten_gekuerzt.csv“ und „wetter.csv“ aus speichern.
We use: - the Website. You need to have an account there to register for the courses. - the Mattermost Chat tool. You need to have an account there to communicate and see the material. You can use if you prefer to check it on your phone or on your computer. Otherwise it works fine in the browser. - the Zoom tool for online conference. You do not need an account, you can join from your browser. You can also on your pc/computer - most of the courses (the one which are valid 5 ECTS) use contents from the platform. You need an account there to see the contents.
Zur Präsentation anhand Eures besten Modells die Vorhersagen für den Testdatensatz der Kaggle Competition berechnen und dort hochladen!
Jedes Team hält eine 8 oder 10-minütige Abschlusspräsentation (genaue Info erfolgt in der Vorwoche - bitte darauf achten, dass Ihr die Länge einhaltet!) mit den folgenden Inhalten:
Euren Namen auf der Titelseite
Auflistung und kurze Beschreibung der selbst erstellten Variablen
Balkendiagramme mit Konfidenzintervallen für zwei selbst erstellte Variablen
Optimierung des linearen Modells: Modellgleichung und adjusted r²
Art der Missing Value Imputation
Optimierung des neuronalen Netzes:
Source Code zur Definition des neuronalen Netzes
Darstellung der Loss-Funktionen für Trainings- und Validierungsdatensatz
MAPEs für den Validierungsdatensatz insgesamt und für jede Warengruppe einzeln
„Worst Fail“ / „Best Improvement“
Die Dokumentation des Leistungsnachweises erfolgt über das von Euch erstellte Repository, das wie in den READMEs angegeben vervollständigt werden muss. Anschließend muss ein Team-Mitglied das README des Hauptverzeichnisses wie hier beschrieben in der EduHub-Plattform hochladen.
I am confused and not sure about which course I should choose.
On our EDU-Platform each course and its contents is described but often it will still be difficult to decide what's the best course for your ability level and your needs. Below we therefore included a quick comparison on the courses, which might provide some additional help.
However, if you have any doubt, we strongly recommend you to
attend the Machine Learning Degree info event that is held before the start of each semester, where you get in-depth information on the different courses.
This semester the event will take place on March, the 22nd.
Roughly, the difficulty level of the courses is increasing from left to right.
english version below
Der Einführungskurs ist offen für alle. Du wirst abgeholt wo Du bist und begleitet, bis Du in der Lage bist, dein eigenes Projekt durchzuführen. Nach Abschluss des Kurses stehen viele Türen für Dich offen und Du hast die Möglichkeit, Dich in unterschiedliche Richtungen weiter fortzubilden. Wenn Du allerdings schon einmal programmiert hast und ein bisschen mit Daten umgehen kannst, bist du eigentlich schon bereit für einen der nächsten Kurse.
The introductory course is open to all. However, the course is in German and you must be fluent in German to take part since the course is very interactive, including a lot of team communication. You will be picked up where you are and accompanied until you are able to do your own project. After completion of the course many doors will be open for you and you will have the opportunity to continue your education in different directions. However, if you have already done some programming and know a little bit about data, you are already ready for one of the next courses.
This course will give you an overview of neural network and their applications in different fields e.g. working with images, texts, or time series. It is a very hands-on approach and you will get a lot of working examples within the course. It is a perfect start for your project. This course will not stress the underlying principles of machine/deep learning but focus on the application.
As an example of a good fit for the course, You already have some programming knowledge and are interested in getting hands-on knowledge in how to train and use machine learning algorithms.
The course Deep Learning from Scratch will give you an overview of the basic principles behind machine learning. How and why they work, and you will write your own code in python and implement deep learning algorithms from scratch, thus reaching a deeper understanding of how things work and a solid knowledge for your further projects. Since this is a rather technical course you are required to have done some intermediate programming and also know about matrix algebra. You can still learn this along the course but it will take you a lot more time to keep up with the course.
For the Advanced Deep Learning course you should have already completed the Deep Learning from Scratch course or have a comparable level of knowledge.
As an example of a good fit for the Deep Learning from Scratch course, You have knowledge about programming and linear algebra (working with vectors and matrices) and are interested in getting in-depth knowledge on how to implement machine learning algorithms.
Each semester, we ususally have different special issue courses on topics like natural language processing or generative adversarial networks.
For these courses you typically should already have a basic understanding of machine learning. However, please check the course descriptions and also do not hesitate to contact the course guide for any questions. In general these courses are a great opportunity to connect with others that are interested in the same issues as you.
As an example of a good fit for the course, You already have some knowledge about Machine Learning (ideally you followed one of our previous courses) and are interested in learning more about the particular field of Machine Learning.
The conditions to be met in order to receive a Certificate of Achievement (and ECTS) are:
If you attend via Zoom, please make sure to use your full name, which should be the same that you used to register at edu.opencampus.sh. Otherwise your attendance will not be recorded!
Check the Projects section to learn more about the projects.
Hybrid Format - Every Thursday 18h00-19h45
Taken your first steps in ML and thirsty for becoming a fully equipped practitioner? Then this course is perfectly right for you! You will learn+build all relevant NN Architectures with the best tools
The next pages serve as the course book. Go ahead and dive in!
Great that you want to dive into the deep waters of Machine Learning. These are exciting times with major advancements on a quarterly basis like ChatGPT, Whisper, StableDiffusion and so many more. Nevertheless, all these exciting models were developed using solid ML knowledge, which is what we aim to acquire in this course.
This is a course which brings you from beginner to intermediate or even advanced. It is formally called Intermediate Machine Learning but following HuggingFace🤗 terms (which we will use heavily in the course) I like to call the course SmilingFace😊. This is meant ironically, because you will never laugh in the course😊. Okay joking aside the use of smileys during learning and practioning ML helps us to remember to have fun, laugh about our mistakes and take ourself not too seriously as it was proposed by the HuggingFace🤗 community. Therefore we will use our 😊 heavily in this course.
On the next pages you can see what the content of each course week will be starting with what will happen during each of our course sessions. Then again the SmilingFace😊 will lead you to what else to do in the week. I have divided the course into three levels of course work:
😊
The part after one 😊 is mandatory for each course participant for a for successful participation.
😊😊
The part after two 😊😊 is voluntary but recommended.
😊😊😊
The part after three 😊😊😊 is completely voluntarily for the ones who really want to know.
Remember the course instructor(me) is also fallible so please question me if you see something that does not seem kind of right to you. Also always ask questions especially if you don't fully understand something. This is really why we give this course afterall so that you understand everything😊
Own contributions or suggestions for improving the course as well as feedback are always welcome😊
Let's dive right in!
folgende Themen behandeln:
Hyperparameter in Neuronalen Netzen
Frameworks zur Implementierung von Neuronalen Netzen
Datenaufbereitung für TensorFlow
Optimierung eines neuronalen Netzes mit Python und TensorFlow
Video (12 Minuten) zur Einführung in Neuronale Netze
Notebook zur Datenaufbereitung für TensorFlow
Notebook zur Optimierung eines neuronalen Netzes
Blog mit zusätzlichen Informationen zur Batch-Normalisierung
eine Einführung zu den folgenden Themen bekommen:
Was ist Data Science?
R vs. Python vs. SPSS vs. ...
Jupyter Notebooks
Wenn Ihr Schüler:in, Student:in oder Lehrkraft seid, könnt Ihr Euch wie hier beschrieben gratis für GitHub Co-Pilot registrieren, das Ihr dann ggf. in VSCode, das wir uns in der nächsten Woche anschauen, integrieren könnt. Die Bezahlversion kostet aktuell 10 US-Dollar pro Monat.
see how to improve the basic neural network for computer vision you learned last week.
learn about what happens if your data is more complex; if the images are larger, or if the features are not always in the same place, and how to handle such issues.
Week 3 and 4 of the course Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
complete week 1 and week 2 of the course Convolutional Neural Networks in TensorFlow, including the provided assignments
setup a repository for your project following the instructions given here
conduct a literature review according to the instructions given here
document your findings on the literature review according to the instructions of above
complete the assignment in the following notebook:
get a soft introduction to what Machine Learning and Deep Learning are, and how they offer you a new programming paradigm, giving you a new set of tools to open previously unexplored scenarios. All you need to know is some very basic programming skills, and you'll pick the rest up as you go along.
take the just learned new programming paradigm used in machine learning to the next level by beginning to solve problems of computer vision with just a few lines of code!
Week 1 and 2 of the course Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
Don't forget to check out the important part of week 2 that is working through this notebook.
complete week 3 and week 4 of the course Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning.
decide on a project for the course and form groups
complete the two assignments in the following notebooks:
folgende Themen behandeln:
Ergänzung der Teams für die Auswertungsprojekte
Besprechung der Aufgaben zu dieser Woche
Einführung in die Versionierung mit git (Teil 2)
Aktuelle KI-Anwendungen
Beispiel für die Relevanz von Interaktionseffekten
get an understanding for the importance of tokenization of a text when training a neural network for texts, for example, to do a sentiment analysis. Tokenization is the process of converting the text into numeric values, with a number representing a word or a character.
learn about embeddings, where the text tokens are mapped as vectors in a high dimensional space. With embeddings and labelled examples, these vectors can then be tuned so that words with similar meaning will have a similar direction in the vector space. This will begin the process of training a neural network to understand sentiment in text -- and you'll begin by looking at movie reviews, training a neural network on texts that are labelled 'positive' or 'negative' and determining which words in a sentence drive those meanings.
Week 1 and 2 of the course
complete week 3 and week 4 of the course
complete to generate text in the unique speaking style of Star Wars character Master Yoda.
decide on an evaluation metric for your project task and evaluate your baseline model
document the evaluation results of your baseline model and the used metric(s) in your project repository
start digging into a variety of model formats that are used in training models to understand context in sequence. In the last couple of weeks you looked first at Tokenizing words to get numeric values from them, and then using Embeddings to group words of similar meaning depending on how they were labelled. This gave you a good, but rough, sentiment analysis -- words such as 'fun' and 'entertaining' might show up in a positive movie review, and 'boring' and 'dull' might show up in a negative one. But sentiment can also be determined by the sequence in which words appear. For example, you could have 'not fun', which of course is the opposite of 'fun'.
learn about using natural language processing (NLP) models for predictions. Given a body of words, you could conceivably predict the word most likely to follow a given word or phrase, and once you've done that, to do it again, and again. With that in mind, you'll build a text generator. It's trained with texts that mimic the style of master Yoda from Star Wars and can be used to produce sentences that sound similar those of Yoda.
Week 3 and 4 of the course
prepare questions for the instructor team on problems in your project or on how to potentially improve your results.
working on the definition of your project's final model(s) and their evaluation according to the instructions given
document how you will evaluate your model results
Also, you may already start to...
complete week 1 and week 2 of the course
complete the tasks of the assignment in .
go deeper into using ConvNets with real-world data and a much larger dataset than those you've been using thus far.
learn about image augmentation, a technique to avoid overfitting by tweaking the training set to potentially increase the diversity of subjects it covers.
discuss your project ideas.
Week 1 and 2 of the course
complete week 3 and week 4 of the course
complete the exercise assignment in
investigate the characteristics of your project's dataset according to the instructions given
document your findings on the dataset characteristics according to the instructions of above
explore using Recurrent Neural networks (RNN) and Long Short Term Memory (LSTM) networks and see how useful they are to classify and predict on sequential data.
add CNNs on top of Dnns and RNNs and put it together using a real world data series -- one which measures sunspot activity over hundreds of years,
Week 3 and 4 of the course
complete your project work
prepare your project presnetation according to the instructions given
get familiar wit transfer learning, a powerful technique to include the knowledge of models that were trained on large datasets and benefit from the features these models already learned in your own problem scenario.
move beyond binary classification into categorical classification and the specific coding considerations for the corresponding models.
present your key findings for the literature review considering you selected project
Week 3 and 4 of the course
complete week 1 and week 2 of the course
complete the exercise assignment in
consider a baseline model or a baseline comparison for your project task according to the instructions given
document your decision according to the instructions given in the link above
By getting accepted for the degree program you get:
Preferred access to all our courses (for organizational reasons you still have to do the application process for each course)
Access to a FlexDesk in the Starterkitchen coworking space and the coworking areas in the Kosmos and at the Waterkant
Discounted or preferred access to events like the Waterkant Festival
Access to special network events, for example, to meet potential employers working in the field of machine learning
Typically, we will accept new participants only at the beginning of each semester though. If you are already participating in one of our machine learning courses, you can also get accepted to the program during the semester though. Simply write us an email at , and we will check your application. Also before the start of each semester, we have a special information event, in which we will provide additional details on the program as well as on the specific courses offered in the upcoming semester.
The program comprises four mandatory elements. To successfully obtain the degree, you must complete at least one element per semester, that is, the maximum time to complete the degree is four semesters. However, we recommend completing it in two or three semesters. If you completed an element of the program before the degree was offered, we will still accept these as part of the degree.
The mandatory elements to obtain the degree are:
Completion of 3 or more of the machine learning courses at opencampus.sh with a minimum of 12.5 ECTS in total. (Check the current list of available course .)
Completion of at least one of the following hackathons:
(participating with an AI project or startup)
hackathon
Quiz
ML Basics recap
Solutions exercises
Presentation from the participants of the tasks from PyTorch101
Walk-through
PyTorch 202 (Lab 02)
😊
Go for your own through the Colab Notebook above (Pytorch202) and try to understand and repeat the steps for your own.
Watch the videos on the next page
Go through the following notebooks and complete the second one (assignment notebook):
The redundancy between some notebooks is desired to reintroduce the concepts in a different way and hence enrich your learning experience!
😊😊
Try to improve the accuracy in the PyTorch 202 notebook by tweaking the amount of layers and number of neurons
😊😊😊
Familiarize yourself with basic PyTorch Tutorials:
register with and the platform to get corresponding accounts.
watch the videos (19 minutes) and (21 minutes) It will help you getting familiar with the vocabulary and basic concepts in machine learning and get a first intuition for their meaning. Don't worry if you do not understand everything viewing it the first time, and maybe you want to watch the videos again at a later point in the course to understand more details.
do the introductory course on the basics of Python if you do not have any experience in Python yet:
get a basic introduction to neural nets in order to get a first intuition in the underlying mechanisms
get a first idea about possible projects you might want to work on throughout the course
Video (12 minutes)
from Kaggle
on Medium
complete week 1 and week 2 of the course
tthink about project ideas to present them in class (post your ideas in the chat during the week)
complete the two assignments given in the following notebooks:
There are certain requirements which form the basis for a successful course participation. If you do not have the mandatory requirements listed below, you should consider enrolling in a more basic course of our offerings. Alternatively bring yourself up to speed. Under additional ressources on the left sidebar you find the necessary ressources. Since the course has a really high pace it will be absolutely necessary to straighten these basic requirements before the course!
Python
Here is a refresher notebook:
Math
Linear Algebra, Probability Theory (at least the basics)
Machine Learning
Basics:
What is a neural network
What is a forward/backprogragation
What is a loss
What is an activation function
What is train/val/test
You can set up your PC for local development. A guiding notebook is here:
Here different IDEs are presented and compared:
Welcome and Introduction round
Introduction of the course, opencampus, the course instructor and the course participants
Tool Set-Up
Colab
Editor (VSCode)
Virtual Environments
Git/Github
Walk-through
PyTorch 101 (Lab 01)
A visual overview of the workflow in the Colab notebook you can get in the PyTorch diagram below:
😊
Watch the following introduction video to the PyTorch framework
Watch all the videos on the next page - they are derived from a former Coursera Course
Go for your own through the Colab Notebook above (Pytorch101) and try to understand and repeat the steps for your own. Thereby you should also solve Task 1-3 in the notebook. You can create therefore a copy of the notebook in your Drive or download the notebook to work locally on it. Ensure that you sufficient computing resources available (i.e gpu) if you choose to work locally.
😊😊
Try to improve the accuracy in the PyTorch 101 notebook by tweaking the amount of layers and number of neurons
😊😊😊
Familiarize yourself with basic PyTorch Tutorials:
take a look at some of the unique considerations involved when handling sequential time series data -- where values change over time, like the temperature on a particular day, or the number of visitors to your web site. We'll discuss various methodologies for predicting future values in these time series.
begin to teach neural networks to recognize and predict on time series.
Week 1 and 2 of the course
complete week 3 and week 4 of the course
continue optimizing your final model
complete the two assignments in the following notebooks:
TBD
(Second part)
(First part)
focus fully on your project.
get feedback from the instructor team on problems in your current project or on how to potentially improve your results.
Week 3 and 4 of the course Natural Language Processing in TensorFlow
(If you haven't done so already last week.)
complete week 1 and week 2 of the course Sequences, Time Series and Prediction
complete tasks of the assignment in this notebook.
Hi everybody......it´s Kristian - your course instructor. I will guide you through the "Advanced Time Series Prediction"-course this semester.
Welcome to all participants.
We start with a short introduction of the course topics. Get to know each other and explain the course structure and all the required tasks for a successful participation.
This requires i.e.: Give a project presentation and provide a well documented code with data via GitHub. Addtionally you are only allowed to miss two class sessions during the semester.
Final Session
Kaggle Competition
The conditions to be met in order to receive a Certificate of Achievement (and ECTS) are:
If you attend via Zoom, please make sure to use your full name, which should be the same that you used to register at edu.opencampus.sh. Otherwise your attendance will not be recorded!
Please switch on your camera - ask questions - be (inter)-active!!
Check the Projects section to learn more about the projects.
CNNs
Kaggle - Our first challenge: Paddy
Exploratory Data Analysis(EDA) for Paddy Disease Classification
Solutions exercise CNN
Presentation from the participants of the CNN assignment from Coursera
Walk-through
PyTorchLightning
PyTorch 303 (Lab 03)
😊
Go for your own through the Colab Notebook above (PyTorch303) and try to understand and repeat the steps for your own.
Do Week 4 of the Coursera Course
Please register at kaggle.com and join the competition. Go through the Exploratory Data Analysis Notebook session and create your own EDA. Here is the link to the competiton:
The main objective of this Kaggle competition is to develop a machine or deep learning-based model to classify the given paddy leaf images accurately. A training dataset of 10,407 (75%) labeled images across ten classes (nine disease categories and normal leaf) is provided. Moreover, the competition host also provides additional metadata for each image, such as the paddy variety and age. Your task is to classify each paddy image in the given test dataset of 3,469 (25%) images into one of the nine disease categories or a normal leaf.
So that is where we will be heading in the next sessions, trying different tools and techniques to tackle this challenge.
Here again my EDA Notebook:
😊😊
😊😊😊
Learning and testing - a.k.a. don't do Bullshit Machine Learning
https://drive.google.com/file/d/18VsrKSqNFaWeWsL24ULFrNnwpghpdwJZ/view?usp=sharing
Walk-through
Hyperparameter experiment
The following notebook will show how to set up a hyperparameter experiment in plain PyTorch. More importantly it give you the results and enables you to analyze and play around
Kaggle
Introduction
Titanic
Solutions exercise MLP
Presentation from the participants of the MLP from Coursera
😊
Watch the videos on the next page
Go through the following notebooks and complete the second one (assignment notebook):
The next task is to analyze the results of the hyperparameter experiment and create a small presentation on your findings(e.g. batch size of 16 with lr=0.2 seems to equal batch size of 1 with lr=0.01). Here is the notebook again:
😊😊
Run your own hyperparameter experiment
😊😊😊
Do your own EDA on the Titanic Dataset and/or look at other EDA notebooks from competitors. Make a final presentable EDA notebook.
Familiarize yourself with this PyTorch Tutorials:
RNNs
Faster Coding with ChatGPT, Stackoverflow and clever search
Deep dive
What are Embeddings?
Reinforcements of and insights into RNNs beyond Coursera
Solutions exercise RNN
Presentation from the participants of the RNN assignment from Coursera
Paddy challenge
Logistic regression baseline for the Paddy Competition
Walk-through
Basic CNN in PyTorchLightning
PyTorch 404 (Lab 04)
😊
Watch the videos on the next page
Build your own model(s) for the Paddy challenge and try to achieve the best accuracy. Log your results that you can present them in the class!
😊😊
Add the the test functionality and create a submission.csv and upload it to the leaderboard
Watch them all😊
How do we define learning?
How do we evaluate our Networks?
How do we learn our Network?
How do we handle Big Data?
Early Stopping
Done!
Sequence-to-Sequence Encoder and Decoder
The Transformer Network
Hands-on
Kaggle
Presentation of experiments with the goal of improving the classification accuracy
Transfer Learning
Theory and Applications
Walk-through
PyTorch 505
Transfer Learning CNN in PyTorchLightning:
😊
Watch the videos on the next page
Watch the following Seminar about Transformers:
😊😊
Go on using ideas discussed in this session and go on improving the accuracy on the Paddy Dataset
Explanatory Session Part 1
Self-attention and multihead attention
Hugging Face Introduction
Library and Use of HuggingFace for working with transfomer models
Explanatory Session Part 2
Transformer Encoder and Positional Encoding
Explanatory Session Part 3
Vision Transformer
Walk-through
Finetuning Vision Transformer on Kaggle Paddy Dataset
😊
Look at current Kaggle competitions and make proposals
😊😊
Go through this excellent site explaining Transformers:
Do Chapter 1-3 of the HuggingFace NLP course
😊😊😊
Look closer at the Pytorch module nn.Transformer
(documentation) and go through a tutorial on how to use it for next token prediction.
Watch this excellent "Build from Scratch" video from Andrej Karpathy
Watch them all😊
Motivation Diabetic Retinopathy
Breakdown of the Convolution (1D and 2D)
Core Components of the Convolutional Layer
Activation Functions
Pooling and Fully Connected Layers
Training the Network
Transfer Learning
Done!
YES.....books.....you may heard about it....these things were used in former times ;-)
Last but not least - here are some very good book references. It is not required or requested to buy any of these books. If you are enrolled as a student at CAU, FH Kiel or another university you might have access to these books via the SpringerLink of your home institution. They cover the course material quite well and provide GitHub-Repositories for the codes which where used throughout the book. Unfortunately there is no 1:1-Coursera course matching these books perfectly - but we will do our best ;-)
Some additional course material and MOOCs if you want you expand your knowledge at your own pace:
For the summer-term 2024 we use mainly YouTube playlists and freely available resources.
Check out the more detailed playlists in each week.
register with Google and the Coursera platform to get corresponding accounts. Since we switched for the second/third run our video lecture sources (the Coursera part is optional - but still benefical for the interested) this part is optional.
Please enroll/attend/complete the following Coursera MOOCs during the semester:
Think about your project:
What are your skills and interests?
What motivates you?
Watch the first YouTube-Tutorials
THIS PLAYLIST IS OPTIONAL:
Watch them all😊
Why Machine Learning is exciting
What is Machine Learning?
Logistic Regression
Interpretation of Logistic Regression
Motivation for Multilayer Perceptron
Multilayer Perceptron Concepts
Multilayer Perceptron Math Model
Deep Learning
Example: Document Analysis
Interpretation of Multilayer Perceptron
Transfer Learning
Model Selection
Early History of Neural Networks
Hierarchical Structure of Images
Convolutional Filters
Convolutional Neural Networks
CNN Math Model
How the Model learns
Advantages of Hierachical Features
CNN on Real Images
Applications and Use in Practice
Deep Learning and Transfer Learning
Done!
Watch the second YouTube-Tutorial:
Work on your semester project topic and get started.
This means:
Connect to your team members
Launch a GitHub Repository
Prepare your data
OPTIONAL:
Continue working on your semester project !!!
Define an appropriate approach for your problem
Formulate some questions about things you do not know
OPTIONAL:
Continue working on your semester project !!!
Try to answer/motivate these questions:
What is you idea/topic?
Which data do you use?
How is it structured?
Is there something special you want to forecast?
OPTIONAL:
Here we present some potential project ideas:
For the semester project - you can bring your own data - we will discuss this in the first/second session. Nevertheless here you can find some resources to think about a potential project:
Check out these frameworks:
Continue working on your semester project !!!
Continue working on your semester project !!!
OPTIONAL --- If you need to brush-up your knowledge on Trees:
Word Vectors
Attention Mechanism
Finalize your presentation !!!
Finalize your semester project !!!
OPTIONAL:
The session takes place every Tuesday 18h15 in starterkitchen
For the course it is mandatory to purchase the course material (https://www.udemy.com/course/100-days-of-code/. Discounts are available via udemy and https://appbrewery.com/. It should cost you around 15€.)
This gitbook contains the main information you need for the course (e.g. homework and extra materials)
Finalize your semester project !!!
CONGRATULATIONS - YOU MADE IT !!!
Finalize your semester project !!!
CONGRATULATIONS - YOU MADE IT !!!
The deadline for submitting your well documented project is the 01/03/2025
You have to prepare a pitch presentation for the session of 21/01/2025
Your submission should tell a story:
What is the goal of the project?
What is the roadmap to reach that goal?
What did you try / did not work / can be improved upon?
You have to at least hand in a Jupyter Notebook documenting code snippets, also if you are just working with .py files
You can alternatively upload a zip file containing the Jupyter Notebook and needed project files (own libraries, ressources, diagrams)
In a group project it should become clear, who participated and who worked on what part
The project should at least look and feel like the Projects you build in the course
Use a GUI
Turtles at least, it is demonstrated in the udemy course
Pygame is not difficult either
Tkinter? Others?
Use of libraries is encouraged!
Please follow the structure of this notebook for your submission:
If you want to include graphics or other files, please contain everything in one zip file. The opencampus.sh system only accepts single file uploads. Subsequent uploads will overwrite previous submissions!
Finalize your presentation !!!
Finalize your semester project !!!
OPTIONAL:
Finalize your presentation !!!
Finalize your semester project !!!
OPTIONAL:
Work on your semester project !!!
Plot your data... ;-)
Think about an appropiate approach for your problem
Formulate some questions about things you do not know
OPTIONAL:
Buy the udemy course (ideally for the lower price) https://www.udemy.com/course/100-days-of-code
Homework:
Do the first day of the course
Watch the videos
Do the interactive coding exercises
If you are very eager you can have a look at this additional, more advanced material:
Watch lecture 0 of the Havard Python Course:
For the best learning experience, it's recommended to watch the 2-hour lecture twice: first for a quick overview, and then more slowly while taking notes. Please ensure you allocate sufficient time for this.
Work through the following homework assignments
Always first create a copy with "Copy to Drive" or download the notebooks to work locally on them. Otherwise your progress won't be saved!!
Homework :
Do days 2 & 3 of the course
Watch the videos
Do the interactive coding exercises (online at udemy and in PyCharm)
Watch lecture 1 of the Havard Python Course:
For the best learning experience, it's recommended to watch the 1-hour lecture twice: first for a quick overview, and then more slowly while taking notes. Please ensure you allocate sufficient time for this.
Work through the following homework assignment
Always first create a copy with "Copy to Drive" or download the notebooks to work locally on them. Otherwise your progress won't be saved!!
Homework:
Decide for one of the two final projects (they will be shown on your certificate):
Knowledge Cards: Flash Card Tool
Digital Pet: Interactive Virtual Companion
List out what data the program has to handle (e.g. flash card with front and back, pet stats like hunger) and the matching data structures you need in python
Create a flow chart for the program, like you have seen with hangman in the course
We will form project groups of ~5 next session
Watch lecture 5 of the Havard Python Course:
For the best learning experience, it's recommended to watch the lecture twice: first for a quick overview, and then more slowly while taking notes. Please ensure you allocate sufficient time for this.
Homework :
Do days 4 & 5 of the course
Watch the videos
Do the interactive coding exercises
Find the Worklab of Week 2 under Resources
Watch lecture 2 of the Havard Python Course:
For the best learning experience, it's recommended to watch the 1-hour lecture twice: first for a quick overview, and then more slowly while taking notes. Please ensure you allocate sufficient time for this.
Work through the following homework assignment
Always first create a copy with "Copy to Drive" or download the notebooks to work locally on them. Otherwise your progress won't be saved!!
Homework:
Do days 8, 9 & 10 of the course
Watch the videos
Do the interactive coding exercises
We will skip day 11, but you can still do it for practice
Watch lecture 4 of the Havard Python Course:
For the best learning experience, it's recommended to watch the 1-hour lecture twice: first for a quick overview, and then more slowly while taking notes. Please ensure you allocate sufficient time for this.
Work through the following homework assignment
Always first create a copy with "Copy to Drive" or download the notebooks to work locally on them. Otherwise your progress won't be saved!!
The conditions to be met in order to receive a Certificate of Achievement (and ECTS) are:
If you attend via Zoom, please make sure to use your full name, which should be the same that you used to register at edu.opencampus.sh. Otherwise your attendance will not be recorded!
Check the Projects section to learn more about how to get started, complete, and submit you project.
Week 6 (Dictionaries):
https://colab.research.google.com/drive/1yL84PqfmRqsRlAKcweXex4uoqJkHtDuc?usp=sharing
Week 7 (Jupyter Notebook):
https://colab.research.google.com/drive/10tHG_qMwrNN8uh1Zt3CoudLkFS6UGEHI?usp=sharing
Week 8 (Object Oriented Programming):
See below
Week 6 (File Handling)
Week 7 (Unit Tests)
No exercises
Week 8 (Object Oriented Programming)
Note1: Object Oriented Programming is a difficult but powerful concept, please take your time to revise the topic!
Note 2: If you want to install packages in the environment we set up during the course, you can do so by running %pip install
package_name
(notice the %-sign!) e.g. %pip install PrettyTable
in one of your notebook cells after you selected the environment. This is only needed once, after that it can always be reimported with import
. If it doesn't work (e.g. in Colab, try !pip install
package_name
with ! instead of %)
Homework:
Do days 16 and 17 of the course
Get started with group project (see information on page Final Project)
Watch lecture 8 of the Havard Python Course:
Object Oriented Programming is not an easy concept. The video is almost three hours long!
For the best learning experience, it's recommended to watch the lecture twice: first for a quick overview, and then more slowly while taking notes. Please ensure you allocate sufficient time for this.
Work through the following homework assignment (short)
Always first create a copy with "Copy to Drive" or download the notebooks to work locally on them. Otherwise your progress won't be saved.
If you are not familiar with the Hugging Face API yet, do at minimum chapter 1 and 2 of the before the start of the course. Further, I strongly recommend to additionally complete the chapters 3, 5 and 6.
Register to the newsletter.
Get a Discord account and enter the and the .
Continue working on your semester project !!!
OPTIONAL:
present your project in the final presentations. :-)
complete your project documentation and submit it according to the instructions given here
Register yourself in the Opencampus Mattermost Chat
Register yourself in Coursera and for the Deep Learning Specialization, and enroll at least in the first course Neural Neworks and Deep Learning.
Homework:
Do days 6 & 7 of the course
Watch the videos
Do the interactive coding exercises
If you are interested in learning more about functions, the Harvard material covers them in Week 0
Watch lecture 3 of the Havard Python Course:
For the best learning experience, it's recommended to watch the 1-hour lecture twice: first for a quick overview, and then more slowly while taking notes. Please ensure you allocate sufficient time for this.
Work through the following homework assignment
Always first create a copy with "Copy to Drive" or download the notebooks to work locally on them. Otherwise your progress won't be saved!!
learn about different ways of using special tokens for instruction tuning
discuss problems in model evaluation
Notebook showing different examples of tokenizations
The conditions to be met in order to receive a Certificate of Achievement and the ECTS are:
Attendance to at least 80% of the classes (it is allowed to miss maximum 2 times)
Delivery of the project with the needed documentation.
Since the weekly session will be on Zoom, please use your full name when you join the Zoom Meeting. The full name should be the same that you used to register at edu.opencampus.sh, because we have an automatic check.
We register automatically the attendance.
When you join the Zoom Session, please use the same name you have in the edu.opencampus.sh platform. You can change your name in the edu.opencampus.sh platform (click at the top-right on your profile photo) and in Zoom (click at the top-right of your video stream), so you should be able to use the same name during the weekly session.
If for any reason (no need to explain) you do not want to use the same name, but still need to be registered, please contact me at the beginning of the course.
Check the Projects section to learn more about the projects.
Each weekly session is complemented with the videos and homework from the Coursera courses. Going through the video and doing the assignment allows you to learn and understand each session, so it is required for the course.
However, Coursera is indipendent from us and the completion of the Coursera assignment is NOT needed for the Opencampus Certificate. Completing all assignment will give you the Coursera Certificates (which is different)
Homework:
Do days 12 & 13 of the course
Watch the videos
Do the interactive coding exercises
We will skip days 14 & 15, but you can still do them for practice
Try to follow these instructions as far as possible, but at least step one. In the session we will walk through the setup process.
Install Anaconda Distribution and Visual Studio Code
(If you are comfortable with the command line, you can just install , and VS Code to save on disk space)
&
Mac users: Move from Downloads to Applications to install VS Code system-wide
Launch Anaconda Navigator
Under Environments create a new environment, e.g. python_course, with a recent version of python (3.12+)
In the package listing for the environment change filter from „installed“ to „all“ then search and install the package ipykernel
Under Home launch VS Code (if not available launch it from system)
In VS Code:
Install the extensions Python and Jupyter (both signed by Microsoft)
Create a new file: File > New File > Jupyter Notebook
Select Kernel > Another Kernel > Python Environments > python_course or whichever environment you just created
Start Coding!
Watch lecture 6 of the Havard Python Course:
For the best learning experience, it's recommended to watch the lecture twice: first for a quick overview, and then more slowly while taking notes. Please ensure you allocate sufficient time for this.
Work through the following homework assignment
Get practical hints about initialization and regularization techniques to avoid overfitting and improving the training of a neural network.
Form the groups, decide the project and communicate it to the teacher.
Finish the second week of the Improving Deep Neural Network Course
Do the Programming Assignment
Check if everything worked with the tools we started using
Have the first session with a small quiz and round of discussion.
Discuss about python environment, dot product against element wise multiplication,
Do you first exercise session training a small neural network recognizing cats!
check weights initialization in the training and notebook example of planar data classification changing the number of hidden unit in a shallow network - only 1 hidden layer.
Finish the fourth week of the course
Finish both assignments
Think about your project: prepare an idea and find other people willing to collaborate (there is time also next week, but please start)
Explore deep neural network.
First example of generalizing a neural network with L layers.
Discussion and choice about the projects.
Create a group for your project!
Finish the first week of the Improving Deep Neural Network Course
Do the Programming Assignments: Initialization, Regularization and Gradient Checking
Opencampus Course about Deep Learning based on various Coursera Courses
The Deep Learning course will guide you through the mathematics background of machine learning approaches. We will start from a simple neural network and go through the different components of a network to understand and be able to create your own project.
The aim of this course is to develop a deeper understanding of how and why neural network work. The first part will be devoted to understanding and implementing the basic behind most of the neural network approaches, the forward- and back-propagation, loss function, optimization, training, hyper-parameters tuning and analysis.
To gain a better understanding, we will implement those part in python (mostly using the numpy library). These methods already exists in popular frameworks (like Tensorflow or Pytorch, to cite a few), but using them without knowledge may be confusing.
During the course, we will have weekly discussion to deeper our understanding of the subject and also you will work on your own project.
In order to get the best out of this course, some previous knowledge is required. We expect the participant to have an understanding about the fundaments of mathematics (not being afraid of derivatives), linear algebra (mostly matrix multiplication) and python programming.
Based on the past semester, the estimated time is around 5 hours a week, ranging usually from 3 to 8 depending on the week's material. The project will start after 4 weeks of the course and will take some additional hours. However, assignment will decrease in the end of the course to leave you space for the project. Be sure to allocate enough time to manage to get through the whole course. If in doubt, ask us for advice.
You do not have to be an expert, and sometimes enthusiasm and motivation may be enough. If you are unsure about some of the requirements, check out the Additional Resources or write us to discuss about it.
Groups of students should be formed to work on a project. The project idea can come from the student, from a template or proposed from us. The project is needed in order to finish the course, and a final presentation will be given in the last week of the course.
For the complete requirements about the project, check out the Requirement page.
For some example of projects from last years, check out the Past Projects page.
The course will be held weekly and will constitute of an online session of 1 hour and a half. The material and slides for each session are found in each week's page.
For further details about Certificates and ECTS please refer to the following page:
A general introduction about the course structure and the participants
Receive an introduction about the course and the people in it. A short overview of the course, contents and how it will work.
Information about accounts, forum and contacts are provided.
Register in the Deep Learning Channel in the Mattermost Chat
Register on Coursera and start the Neural Networks and Deep Learning course,
Finish the first two weeks of the course
Do the Programming Assignment on Logistic Regression
Do the Programming Assignment on Python Numpy