An augmented neural network system, implemented by one or more computers, for processing a sequence of system inputs to generate a sequence of system outputs, the augmented neural network system comprising: a controller neural network configured to receive a neural network input at each of a plurality of time steps and to process the neural network input to generate a neural network output for the time step, wherein each neural network output includes: a read key, and a write vector; an external memory, the external memory being external to the controller neural network; and a Least Recently Used Access, LRUA, subsystem that is configured to: maintain a respective usage weight for each of a plurality of locations in the external memory that represents a strength with which the location has recently been written to or read from by the LRUA subsystem, and for each of the plurality of time steps: generate a respective reading weight for each of the plurality of locations in the external memory using the read key, read data from the plurality of locations in the external memory in accordance with the reading weights, generate a respective writing weight for each of the plurality of locations in the external memory from a respective reading weight for the location from a preceding time step and the respective usage weight for the location, write the write vector to the plurality of locations in the external memory in accordance with the writing weights, and update the respective usage weight for each of the plurality of locations in the external memory from the respective reading weight for the location and the respective writing weight for the location. a read key, and a write vector; an external memory, the external memory being external to the controller neural network; and a Least Recently Used Access, LRUA, subsystem that is configured to: maintain a respective usage weight for each of a plurality of locations in the external memory that represents a strength with which the location has recently been written to or read from by the LRUA subsystem, and for each of the plurality of time steps: generate a respective reading weight for each of the plurality of locations in the external memory using the read key, read data from the plurality of locations in the external memory in accordance with the reading weights, generate a respective writing weight for each of the plurality of locations in the external memory from a respective reading weight for the location from a preceding time step and the respective usage weight for the location, write the write vector to the plurality of locations in the external memory in accordance with the writing weights, and update the respective usage weight for each of the plurality of locations in the external memory from the respective reading weight for the location and the respective writing weight for the location. maintain a respective usage weight for each of a plurality of locations in the external memory that represents a strength with which the location has recently been written to or read from by the LRUA subsystem, and for each of the plurality of time steps: generate a respective reading weight for each of the plurality of locations in the external memory using the read key, read data from the plurality of locations in the external memory in accordance with the reading weights, generate a respective writing weight for each of the plurality of locations in the external memory from a respective reading weight for the location from a preceding time step and the respective usage weight for the location, write the write vector to the plurality of locations in the external memory in accordance with the writing weights, and update the respective usage weight for each of the plurality of locations in the external memory from the respective reading weight for the location and the respective writing weight for the location. generate a respective reading weight for each of the plurality of locations in the external memory using the read key, read data from the plurality of locations in the external memory in accordance with the reading weights, generate a respective writing weight for each of the plurality of locations in the external memory from a respective reading weight for the location from a preceding time step and the respective usage weight for the location, write the write vector to the plurality of locations in the external memory in accordance with the writing weights, and update the respective usage weight for each of the plurality of locations in the external memory from the respective reading weight for the location and the respective writing weight for the location.