I think DiagrammeR can be a nicer variant.
If you want to produce it into R-enviroment. But you need some amount of time to learn this package.
library(DiagrammeR)
grViz("digraph G1 {
  graph [layout=neato overlap = true]     
  I0 [pos='1,3.25!' shape=plaintext label='input layer' fontsize=20]
  I1 [pos='1,2.5!'  style=radial]  
  I2 [pos='1,1!'    style=radial]
  I3 [pos='1,-0.5!' style=radial]
  I7 [pos='0,2.5!'  shape=plaintext label='input 1']
  I8 [pos='0,1!'    shape=plaintext label='input 2']
  I9 [pos='0,-0.5!' shape=plaintext label='input 3']
  H0 [pos='3,3.25!' shape=plaintext label='hidden layer 1' fontsize=20]
  H1 [pos='3,2.5!' style=radial]     
  H2 [pos='3,1!'    style=radial]
  H3 [pos='3,-0.5!' style=radial]
  O0 [pos='5,3.25!' shape=plaintext label='output layer' fontsize=20]
  O1 [pos='5,0!'  style=radial]
  O2 [pos='5,2!'  style=radial] 
  O7 [pos='6,0!' shape=plaintext label='output']
  O8 [pos='6,2!' shape=plaintext label='output']
  
  I7 -> I1 
  I8 -> I2
  I9 -> I3
  I1 -> H1 [label='w=0.8']
  I1 -> {H2 H3}
  I2 -> {H1 H2 H3}
  I3 -> {H1 H2 H3}
  {H1 H2 H3} -> O1
  {H1 H2 H3} -> O2
  O1 -> O7
  O2 -> O8
  
}")

I don't know how to make a 'vertical arrow to arrows', but I think we can do it via label...