it seems to vary - a novice in religious terms is someone who's entered a monastery or nunnery but not taken their final vows. So tht probably means more advanced than a beginner. But in everyday language I doubt there's much difference; I think they both mean someone who's only just started.
Amateur just means lover - ie someone who does something for the love of it rather than for money. A professional may well call someone amateur when they mean he's not good enough to earn his keep at it, but that's not really the true meaning. Rugby union was an amateur sport until recently; and cricketers used to be split between amateurs and professionals - in listing the teams, a professional would be AB Smith but an amateur would be Mr AB Smith, because the suggestion would be that he was some sort of aristocrat who didn't need the money.