Smooth changes in speed:
currentSpeed = Mathf.MoveTowards(
currentSpeed,
targetSpeed,
acceleration * Time.deltaTime
);
Vector movement:
currentMovement =
Vector3.MoveTowards(
currentMovement,
targetMovement,
acceleration * Time.deltaTime
);
Lerp is useful for smoothing, but it does not represent constant acceleration.