How Do Machines Learn?

As our acknowledgements always say, a researcher depends on colleagues. I share my draft grant proposal with trusted colleagues. They offer advice. I value the advice of some colleagues more than others.
The grant I submit is a sort of weighted average of the advice I got.

The Autopsy of Loss. When the grant is rejected I read the referees evaluation and score and think about the advice I got. I ask myself how the score might be different if I'd taken Eva's advice a bit more to heart? Or if I had relied less on Ben's suggestions? I intuitively compute how much the outcome might have changed with small changes in how I weighed the advice of each of my colleagues.
And I make a mental note to adjust my weights next time.
The Derivative of Blame
The Concept: Determining who contributed most to the mistake.
-
The Scenario: You look back at the committee. You ask: "If I had listened to Professor Smith just a tiny bit less, would our total error have gone down?"
-
The Calculus: This is the Partial Derivative ($\frac{\partial Loss}{\partial \omega}$). It tells you the sensitivity of the total error to that specific person's weight.
-
The Wisdom of Crowds: You aren't "teaching" the friends; you are calculating the "gradient" (the direction of steepest improvement) for the entire group's organization.
Coding Compliance vs Coding Learning
The Concept: Determining who contributed most to the mistake.
-
The Scenario: You look back at the committee. You ask: "If I had listened to Professor Smith just a tiny bit less, would our total error have gone down?"
-
The Calculus: This is the Partial Derivative ($\frac{\partial Loss}{\partial \omega}$). It tells you the sensitivity of the total error to that specific person's weight.
-
The Wisdom of Crowds: You aren't "teaching" the friends; you are calculating the "gradient" (the direction of steepest improvement) for the entire group's organization.
def evaluate_grant(impact_score, feasibility_score, budget_alignment):
# The human defines the rules and the logic flow
if impact_score > 0.8:
if feasibility_score > 0.7:
return "Approved"
elif budget_alignment == "High":
return "Waitlist"
else:
return "Rejected"
else:
return "Rejected"
# Logic is rigid; if the world changes, the code must be manually rewritten.import keras # or torch
# The human defines the architecture (the "committee")
model = Sequential([
Input(shape=(3,)), # 3 inputs: Impact, Feasibility, Budget
Dense(50, activation='relu'), # 50 "colleagues" processing the data
Dense(20, activation='relu'), # A sub-committee refining the views
Dense(1, activation='sigmoid') # The final decision (0 to 1)
])
# The human defines the learning process
model.compile(
optimizer='adam', # The strategy for adjusting weights
loss='binary_crossentropy', # How we measure the "error" or "blame"
metrics=['accuracy']
)
# The human provides data, not rules
model.fit(past_grant_data, outcomes, epochs=100)How Do Machines Learn?
By Dan Ryan
How Do Machines Learn?
- 10