Speaking in Damascus, Assad also said any bid to end the conflict that was not based on fighting "terrorism" would be "meaningless".
Syria's army once had around 300,000 members, but has been roughly halved in size by deaths, defections and a rise in draft dodging, a fact that Assad acknowledged publicly on Sunday.
"There is a lack of human resources" in the army, he said, addressing representatives of economic organisations in a speech broadcast live on Syrian state television.
"It is normal that an army gets tired, but there's a difference between fatigue and defeat," Assad insisted.
"The word defeat does not exist in the Syrian army's dictionary," he added, telling the applauding audience that "collapse" was not on the cards.
"We will resist and we will win."
The rare public acknowledgement of weakness comes amid growing concern in Damascus about the state of the country's armed forces.
In early July, a campaign was launched to encourage citizens to join the army, with billboards going up around the capital.
"We must take specific measures to increase (troop numbers) so they can carry out urgent missions," Assad said.
"This (amnesty) decree is to encourage deserters to rejoin the army."
The amnesty does not extend to defectors who left the army to join the uprising against the government.
Assad's speech comes after several months of setbacks for his government, which faces opponents including Islamic State group jihadists, Al-Qaeda-affiliated fighters and other rebel groups.
