Neural tangent kernels of deep convolutional neural networks
September 19, 2022 ยท View on GitHub
This repository is the official implementation of What can be learnt with wide convolutional neural networks?.
Requirements
To install requirements:
pip install -r requirements.txt
Computing learning curves in the teacher-student setting
This script computes the learning curves of deep convolutional neural tangent kernels in a teacher-student setting for kernel regression. In this setup, the target function is a Gaussian random field with covariance given by the teacher kernel and learning is performed with the student kernel via (ridge) regression.
Usage:
python teacher_student.py --imagesize [size of the input] --patternsizes [list of teacher filter sizes] --filtersizes [list of student filter sizes]
Example for a depth-three teacher and a depth-four student with binary filters:
python teacher_student.py --imagesize 8 --patternsizes 2 2 --filtersizes 2 2 2
Notice that deep convolutional neural tangent kernels are very memory intensive. Running the previous script requires up to 200 GB of RAM.