Friedrichs Learning: Weak Solutions of Partial Differential Equations via Deep Learning