Assignment 5
PyDicom
load CT volume, slice it, adjust window/level
Monday Due 4/15!
FreeSurfer
No class next week!
Lex Fridman
Artificial General Intelligence
300 billion words
570 GB Data
Transformer architecture
LLaMA
1.4 trillion words
Alcorn et al. at CVPR 2019
Our Work at IEEE Vis 2018
Data Bias
Generated Art
DALL-E 2’s interpretation of “A photo of an astronaut riding a horse.”
“Teddy bears working on new AI research on the moon in the 1980s.”
Deep Fakes
Boston Dynamics
MNIST
Lex Fridman
Supervised Learning
Random Forest in Asst4!
9
Convolutional Neural Network
cat
Convolutional Neural Network
Edge Computing: Cats versus Dogs in the browser
The cats versus dogs image classification is a classic example of deep learning. We will explore it first using Colab and then move it to the edge: running in the web-browser using tensorflow.js.
Keras
Easier!
The U-Net
1. Load Data
2. Setup Network
3. Train Network
4. Predict!
4 Steps
Data
Training
Testing
2
Label
?
Label
But we know the answer!
X_train
y_train
X_test
y_test
Setup Network
NUMBER_OF_CLASSES = 10
model = keras.models.Sequential()
model.add(keras.layers.Conv2D(32, kernel_size=(3, 3),
activation='relu',
input_shape=first_image.shape))
model.add(keras.layers.Conv2D(64, (3, 3), activation='relu'))
model.add(keras.layers.MaxPooling2D(pool_size=(2, 2)))
model.add(keras.layers.Dropout(0.25))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(128, activation='relu'))
model.add(keras.layers.Dropout(0.5))
model.add(keras.layers.Dense(NUMBER_OF_CLASSES, activation='softmax'))
NUMBER_OF_CLASSES = 10
MNIST
NUMBER_OF_CLASSES = 2
Cats vs. Dogs
NUMBER_OF_CLASSES = 2
Binary Segmentation
NUMBER_OF_OUTPUTS = 512x512
Setup Network
NUMBER_OF_CLASSES = 10
model = keras.models.Sequential()
model.add(keras.layers.Conv2D(32, kernel_size=(3, 3),
activation='relu',
input_shape=first_image.shape))
model.add(keras.layers.Conv2D(64, (3, 3), activation='relu'))
model.add(keras.layers.MaxPooling2D(pool_size=(2, 2)))
model.add(keras.layers.Dropout(0.25))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(128, activation='relu'))
model.add(keras.layers.Dropout(0.5))
model.add(keras.layers.Dense(NUMBER_OF_CLASSES, activation='softmax'))
model.compile(loss=keras.losses.categorical_crossentropy,
optimizer=keras.optimizers.Adadelta(),
metrics=['accuracy'])
Train Network
9
Training Data
Then we check how well the network predicts the testing data!
?
Loss
should go down!
Repeated.. (1 run is called an epoch)
Predict!
Testing Data
0 0 0
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8
9 9 9
Measure how well the CNN does...
Keerthana Sai Kumar Agam
Peng-Lin Chen
Akhil B Dhruv S