Module 1: Architect

Module Overview

This module introduces the foundational concepts of neural networks and how to architect them using the Keras Sequential API. Neural networks are computational models inspired by the human brain, capable of learning complex patterns from data. You'll learn about the building blocks of neural networks, including neurons, layers, and activation functions, and how to combine these components to create effective architectures for various machine learning tasks.

Learning Objectives

1. Describe foundational components of neural networks

  • Understand the structure and function of artificial neurons
  • Identify the purpose of weights, biases, and activation functions
  • Explain how layers of neurons work together to process information
  • Differentiate between various types of neural network architectures

2. Introduce the Keras sequential model API

  • Understand the purpose and structure of the Sequential API
  • Implement basic layer types including Dense and Dropout
  • Configure model compilation with appropriate loss functions and optimizers
  • Train and evaluate models using the fit and evaluate methods

3. Learn how to select a model architecture

  • Determine appropriate input and output layer dimensions based on the dataset
  • Select suitable hidden layer configurations for different problems
  • Choose appropriate activation functions for different network layers
  • Balance model complexity against computational requirements

Guided Project

Neural Network Architecture with Keras

Guided Project File:

DS_421_Architect_Lecture.ipynb

Module Assignment

Please read the assignment file in the GitHub repository for detailed instructions on completing your assignment tasks.

Assignment File:

DS_421_Architect_Assignment.ipynb

In this assignment, you will build a neural network to classify sketches from the Quickdraw dataset using TensorFlow and Keras. Your tasks include:

  • Loading and preprocessing the Quickdraw dataset (10 classes, 10,000 observations per class)
  • Building a baseline classification model with specific layer configurations
  • Training the model with SGD optimizer and analyzing performance
  • Creating a second model with the Adam optimizer and comparing results
  • Visualizing and interpreting model training metrics
  • Analyzing overfitting patterns and potential improvements

Assignment Solution Video

Check for Understanding

Complete the following items to test your understanding:

  • Explain the key components of an artificial neuron and how they relate to biological neurons
  • Describe the purpose of activation functions and name three commonly used ones
  • Create a simple feedforward neural network using the Keras Sequential API
  • Explain the difference between input, hidden, and output layers
  • Identify appropriate layer configurations for a classification problem

Additional Resources