You do this with a switching power supply, specifically a boost converter. The basic principal is that to charge up a inductor from the low voltage, then let it release the stored energy at a higher voltage.
The attached shows a very simple circuit that does this. Q1 acts as a switch that is either on or off. When on, the 4.5V input power is applied accross the inductor. This causes the current thru the inductor to rise over time. Q1 it turned off before the inductor current reaches its saturation limit. At that point, the only place for the current to go is thru the LED string. This will cause the inductor current to ramp down again until it reaches 0 and there is no more energy stored in the inductor. At that point the process can be repeated.
This circuit is simplified, but would work if the gate of Q1 was driven with the right pulse train. The LEDs would actually blink on and off rapidly, but that should be at 10s of kHz at least so that it should look solidly on.
In a real circuit you'd probably want some feedback of the current so that the pulses could be adjusted to regulate the current thru the LEDs. You might also want to smooth out the spikes a little to decrease the maximum current at the peak of each spike. This will beat on the LEDs less and run them more efficiently. However, this adds a diode and a capacitor, and the diode decreases overall efficiency.
I have done something similar. Check out my KnurdLight at
http://www.embedinc.com/pic/knli. That page includes a link to the full schematic. In this case I did add the current smoothing diode and cap and current feedback to allow the LED current to be regulated to 20mA average. There are also some extra parts to shut down in case of overvoltage, which could happen if the wire to the LEDs broke, for example.