Check all connections in the starter circuit between battery, solenoid and starter motor. It sounds like either a loose connection or failing crimped joint causing an intermittent voltage drop. If not that it could also be faulty solenoid or worn brushes in the starter motor.