How do you distinguish between a complex and a simple model in machine learning?
Consider a continuum of complexity in models.


Trivial: $y = x + a$
Simple: $y = x \, \log \, (a x + b) + c$
Moderately complex: A wind turbine under constant wind velocity
Very complex: Ray tracing of lit 3-D motion scenes to pixels
Astronomically complex: The weather


Now consider a continuum regarding the generality or specificity of models.


Very specific: The robot for the Mars mission has an exact mechanical topology, materials call-out, and set of mechanical coordinates contained in the CAD files used to machine the robot's parts.
Somewhat specific: The formulas guiding the design of an internal combustion engine, which are well known.
Somewhat general: The phenomenon is deterministic and the variables and their domains are known.
Very general: There's probably some model because it works in nature but we know little more.


There are twenty permutations at the above level of granularity. Every one has purpose in mathematical analysis, applied research, engineering, and monetization.

Here are some general correlations between input, output, and layer counts.


Higher complexity often corresponds to larger layer count.
Higher i/o dimensionality corresponds to higher width to the corresponding i/o layers.
Mapping generality to or from specificity generally requires complexity.


Now, to make this answer even less appealing to those who want formula answer they can memorize, ...


Each artificial network is a model of an arbitrary function before training and a model of a specific function afterward.
Loss functions are models of disparity.
An algorithm is a model of a process created by spreading a recursive definition out in time to map into a model of centralized computation called a CPU.
The recursive definition is a model too.


There is almost nothing in science that is a not a model except ideas or data that are not yet modeled.